  We present an efficient method for estimating the eigenvalues of a
Hamiltonian $H$ from the expectation values of the evolution operator for
various times. For a given quantum state $\rho$, our method outputs a list of
eigenvalue estimates and approximate probabilities. Each probability depends on
the support of $\rho$ in those eigenstates of $H$ associated with eigenvalues
within an arbitrarily small range. The complexity of our method is polynomial
in the inverse of a given precision parameter $\epsilon$, which is the gap
between eigenvalue estimates. Unlike the well-known quantum phase estimation
algorithm that uses the quantum Fourier transform, our method does not require
large ancillary systems, large sequences of controlled operations, or
preserving coherence between experiments, and is therefore more attractive for
near-term applications. The output of our method can be used to compute
spectral properties of $H$ and other expectation values efficiently, within
additive error proportional to $\epsilon$.
