  We propose a general-purpose quantum algorithm for preparing ground states of
quantum Hamiltonians from a given trial state. The algorithm is based on
techniques recently developed in the context of solving the quantum linear
systems problem [Childs,Kothari,Somma'15]. We show that, compared to algorithms
based on phase estimation, the runtime of our algorithm is exponentially better
as a function of the allowed error, and at least quadratically better as a
function of the overlap with the trial state. We also show that our algorithm
requires fewer ancilla qubits than existing algorithms, making it attractive
for early applications of small quantum computers. Additionally, it can be used
to determine an unknown ground energy faster than with phase estimation if a
very high precision is required.
