EigsQPE¶
- class EigsQPE(operator, iqft, num_time_slices=1, num_ancillae=1, expansion_mode='trotter', expansion_order=1, evo_time=None, negative_evals=False, ne_qfts=None)[source]¶
Eigenvalues using Quantum Phase Estimation.
Specifically, this class is based on PhaseEstimationCircuit with no measurements and has additional handling of negative eigenvalues, e.g. for
HHL
. It depends onQFT
andIQFT
components.- Parameters
operator (
LegacyBaseOperator
) – The Hamiltonian Operator objectiqft (
Union
[QuantumCircuit
,IQFT
]) – The Inverse Quantum Fourier Transform componentnum_time_slices (
int
) – The number of time slices, has a minimum value of 1.num_ancillae (
int
) – The number of ancillary qubits to use for the measurement, has a minimum value of 1.expansion_mode (
str
) – The expansion mode (‘trotter’ | ‘suzuki’)expansion_order (
int
) – The suzuki expansion order, has a minimum value of 1.evo_time (
Optional
[float
]) – An optional evolution time which should scale the eigenvalue onto the range \((0,1]\) (or \((-0.5,0.5]\) for negative eigenvalues). Defaults toNone
in which case a suitably estimated evolution time is internally computed.negative_evals (
bool
) – SetTrue
to indicate negative eigenvalues need to be handledne_qfts (
Optional
[List
]) – The QFT and IQFT components for handling negative eigenvalues
Methods
EigsQPE.construct_circuit
(mode[, register])Construct the eigenvalues estimation using the PhaseEstimationCircuit
EigsQPE.construct_inverse
(mode, circuit)Construct the inverse eigenvalue estimation quantum circuit.
get register sizes
get scaling