PhaseEstimation
class qiskit.circuit.library.PhaseEstimation(num_evaluation_qubits, unitary, iqft=None, name='QPE')
Bases: QuantumCircuit
Phase Estimation circuit.
In the Quantum Phase Estimation (QPE) algorithm [1, 2, 3], the Phase Estimation circuit is used to estimate the phase of an eigenvalue of a unitary operator , provided with the corresponding eigenstate . That is
This estimation (and thereby this circuit) is a central routine to several well-known algorithms, such as Shor’s algorithm or Quantum Amplitude Estimation.
References:
[1]: Kitaev, A. Y. (1995). Quantum measurements and the Abelian Stabilizer Problem. 1–22.
[2]: Michael A. Nielsen and Isaac L. Chuang. 2011.
Quantum Computation and Quantum Information: 10th Anniversary Edition (10th ed.). Cambridge University Press, New York, NY, USA.
[3]: Qiskit
The class qiskit.circuit.library.phase_estimation.PhaseEstimation
is deprecated as of Qiskit 2.1. It will be removed in Qiskit 3.0. Use qiskit.circuit.library.phase_estimation instead.
Parameters
- num_evaluation_qubits (int) – The number of evaluation qubits.
- unitary (QuantumCircuit) – The unitary operation which will be repeated and controlled.
- iqft (QuantumCircuit | None) – A inverse Quantum Fourier Transform, per default the inverse of
QFT
is used. Note that the QFT should not include the usual swaps! - name (str) – The name of the circuit.
The inverse QFT should not include a swap of the qubit order.
Reference Circuit:

Attributes
name
Type: str
A human-readable name for the circuit.
Example
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit