IterativePhaseEstimation
class IterativePhaseEstimation(num_iterations, quantum_instance=None, sampler=None)
Bases: qiskit.algorithms.phase_estimators.phase_estimator.PhaseEstimator
Run the Iterative quantum phase estimation (QPE) algorithm.
Given a unitary circuit and a circuit preparing an eigenstate, return the phase of the eigenvalue as a number in using the iterative phase estimation algorithm.
[1]: Dobsicek et al. (2006), Arbitrary accuracy iterative phase estimation algorithm as a two
qubit benchmark, arxiv/quant-ph/0610214
Parameters
- num_iterations (int) – The number of iterations (rounds) of the phase estimation to run.
- quantum_instance (QuantumInstance |Backend | None) – Pending deprecation: The quantum instance on which the circuit will be run.
- sampler (BaseSampler | None) – The sampler primitive on which the circuit will be sampled.
Raises
- ValueError – if num_iterations is not greater than zero.
- AlgorithmError – If neither sampler nor quantum instance is provided.
Methods
construct_circuit
IterativePhaseEstimation.construct_circuit(unitary, state_preparation, k, omega=0.0, measurement=False)
Construct the kth iteration Quantum Phase Estimation circuit.
For details of parameters, see Fig. 2 in https://arxiv.org/pdf/quant-ph/0610214.pdf.
Parameters
- unitary (
QuantumCircuit
) – The circuit representing the unitary operator whose eigenvalue (via phase) will be measured. - state_preparation (
QuantumCircuit
) – The circuit that prepares the state whose eigenphase will be measured. If this parameter is omitted, no preparation circuit will be run and input state will be the all-zero state in the computational basis. - k (
int
) – the iteration idx. - omega (
float
) – the feedback angle. - measurement (
bool
) – Boolean flag to indicate if measurement should be included in the circuit.
Returns
the quantum circuit per iteration
Return type
estimate
IterativePhaseEstimation.estimate(unitary, state_preparation)
Estimate the eigenphase of the input unitary and initial-state pair.
Parameters
- unitary (
QuantumCircuit
) – The circuit representing the unitary operator whose eigenvalue (via phase) will be measured. - state_preparation (
QuantumCircuit
) – The circuit that prepares the state whose eigenphase will be measured. If this parameter is omitted, no preparation circuit will be run and input state will be the all-zero state in the computational basis.
Return type
IterativePhaseEstimationResult
Returns
Estimated phase in an IterativePhaseEstimationResult object.
Raises
AlgorithmError – If neither sampler nor quantum instance is provided.