Skip to main content
IBM Quantum Platform

PhaseEstimation

class qiskit.circuit.library.PhaseEstimation(num_evaluation_qubits, unitary, iqft=None, name='QPE')

GitHub

Basen: QuantumCircuit

Schaltung zur Phasenschätzung.

Im Algorithmus der Quantenphasenschätzung (QPE) [1, 2, 3] wird die Phasenschätzungsschaltung verwendet, um die Phase ϕ\phi eines Eigenwerts e2πiϕe^{2\pi i\phi} eines unitären Operators UU zu schätzen, der mit dem entsprechenden Eigenzustand ∣ψ⟩|\psi\rangle versehen ist. Das bedeutet

U∣ψ⟩=e2πiϕ∣ψ⟩U|\psi\rangle = e^{2\pi i\phi} |\psi\rangle

Diese Schätzung (und damit diese Schaltung) ist eine zentrale Routine für mehrere bekannte Algorithmen, wie den Shor-Algorithmus oder die Quantenamplitudenschätzung.

Quellenangaben:

[1] Kitaev, A. Y. (1995). Quantenmessungen und das Problem des abelschen Stabilisators. 1–22. quant-ph/9511026

[2] Michael A. Nielsen und Isaac L. Chuang. 2011. Quantencomputation und Quanteninformation: 10th Anniversary Edition (10. Aufl.). Cambridge University Press, New York, NY, USA.

[3] Qiskit-Lehrbuch

Veraltet seit Version 2.1

Die Klasse qiskit.circuit.library.phase_estimation.PhaseEstimation ist ab Qiskit 2.1 veraltet. Sie wird in Qiskit 3.0 entfernt. Verwenden Sie stattdessen qiskit.circuit.library.phase_estimation.

Parameter

  • num_evaluation_qubits (int) – Die Anzahl der Auswertungsqubits.
  • unitary (QuantumCircuit) – Die einzelne Operation „ UU “, die wiederholt und gesteuert wird.
  • iqft (QuantumCircuit | None) – Eine inverse Quanten-Fourier-Transformation; standardmäßig wird die Umkehrung von QFT verwendet. Bitte beachten Sie, dass die QFT nicht die üblichen Swaps enthalten sollte!
  • name (str) – Der Name des Stromkreises.
Anmerkung

Die inverse QFT sollte keine Vertauschung der Qubit-Reihenfolge beinhalten.

Referenzkreislauf:

Diagramm zur Veranschaulichung der zuvor beschriebenen Schaltung.

Attribute

name

Typ: str

Ein von Menschen lesbarer Name für den Stromkreis.

Beispiel

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.