View source on GitHub |
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. |