qml.iterative_qpe¶
-
iterative_qpe
(base, ancilla, iters)[source]¶ Performs the iterative quantum phase estimation circuit.
Given a unitary \(U\), this function applies the circuit for iterative quantum phase estimation and returns a list of mid-circuit measurements with qubit reset.
- Parameters
- Returns
the list of measurements performed
- Return type
list[MidMeasureMP]
See also
Example
dev = qml.device("default.qubit", shots=5) @qml.qnode(dev) def circuit(): # Initial state qml.X(0) # Iterative QPE measurements = qml.iterative_qpe(qml.RZ(2.0, wires=[0]), ancilla=1, iters=3) return qml.sample(measurements)
>>> print(circuit()) [[0 0 1] [0 0 1] [0 0 1] [1 1 1] [0 0 1]]
The output is an array of size
(number of shots, number of iterations)
.>>> print(qml.draw(circuit, max_length=150)()) 0: ──X─╭RZ(2.00)⁴─────────────────╭RZ(2.00)²────────────────────────────╭RZ(2.00)¹────────────────────────────────────┤ 1: ──H─╰●──────────H──┤↗│ │0⟩──H─╰●──────────Rϕ(-1.57)──H──┤↗│ │0⟩──H─╰●──────────Rϕ(-1.57)──Rϕ(-0.79)──H──┤↗│ │0⟩─┤ ╚══════════════════════╩══════════════║══════════════════════║══════════╩══════════════║═══════╡ ╭Sample[MCM] ╚══════════════════════╩═════════════════════════║═══════╡ ├Sample[MCM] ╚═══════╡ ╰Sample[MCM]
code/api/pennylane.iterative_qpe
Download Python script
Download Notebook
View on GitHub