Estimates amplitudes and phases of a sparse signal using Prony's method.
openfermion.linalg.prony(
signal: numpy.ndarray
) -> Tuple[numpy.ndarray, numpy.ndarray]
Single-ancilla quantum phase estimation returns a signal
g(k)=sum (ajexp(ik*phij)), where aj and phij are the amplitudes
and corresponding eigenvalues of the unitary whose phases we wish
to estimate. When more than one amplitude is involved, Prony's method
provides a simple estimation tool, which achieves near-Heisenberg-limited
scaling (error scaling as N^{-1/2}K^{-3/2}).
Args |
signal(1d complex array): the signal to fit
|
Returns |
amplitudes(list of complex values): the amplitudes a_i,
in descending order by their complex magnitude
phases(list of complex values): the complex frequencies gamma_i,
correlated with amplitudes.
|