Skip to main content
IBM Quantum Platform

OneQubitEulerDecomposer

class qiskit.synthesis.OneQubitEulerDecomposer(basis='U3', use_dag=False)

GitHub

Basen: object

Eine Klasse zur Zerlegung von 1-Qubit-Unitarien in Euler-Winkel-Drehungen.

Die resultierende Zerlegung wird durch 3 Eulersche Drehwinkelparameter (θ,ϕ,λ)(\theta, \phi, \lambda) und einen Phasenparameter γ\gamma parametrisiert. Der Wert der Parameter für eine Eingangseinheit hängt von der Zersetzungsbasis ab. Die zulässigen Basen und die daraus resultierenden Schaltungen sind in der folgenden Tabelle aufgeführt. Beachten Sie, dass für die Nicht-Euler-Basen ( U3U3, U1XU1X, RRRR ) die Euler-Parameter von ZYZZYZ verwendet werden.

Basis
Eulersche Winkel Basis
Zersetzungskreislauf
zYZ"Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ).RY(θ).RZ(λ)e^{i\gamma} R_Z(\phi).R_Y(\theta).R_Z(\lambda)
zXZ"Z(ϕ)X(θ)Z(λ)Z(\phi) X(\theta) Z(\lambda)eiγRZ(ϕ).RX(θ).RZ(λ)e^{i\gamma} R_Z(\phi).R_X(\theta).R_Z(\lambda)
xYX"X(ϕ)Y(θ)X(λ)X(\phi) Y(\theta) X(\lambda)eiγRX(ϕ).RY(θ).RX(λ)e^{i\gamma} R_X(\phi).R_Y(\theta).R_X(\lambda)
xZX"X(ϕ)Z(θ)X(λ)X(\phi) Z(\theta) X(\lambda)eiγRX(ϕ).RZ(θ).RX(λ)e^{i\gamma} R_X(\phi).R_Z(\theta).R_X(\lambda)
‘U3’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
‘U321’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
'U'Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
pSXZ(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU1(ϕ+π).RX(π2).e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right). U1(θ+π).RX(π2).U1(λ)U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)
zSX"Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ+π).X.e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}. RZ(θ+π).X.RZ(λ)R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda)
zSXX"Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ+π).X.RZ(θ+π).X.RZ(λ)e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}.R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda) oder eiγRZ(ϕ+π).X.RZ(λ)e^{i\gamma} R_Z(\phi+\pi).X.R_Z(\lambda)
‘U1X’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU1(ϕ+π).RX(π2).e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right). U1(θ+π).RX(π2).U1(λ)U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)
rRZ(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγR(−π,ϕ−λ+π2).e^{i\gamma} R\left(-\pi,\frac{\phi-\lambda+\pi}{2}\right). R(θ+π,π2−λ)R\left(\theta+\pi,\frac{\pi}{2}-\lambda\right)

__call__

__call__(unitary, simplify=True, atol=1e-12)

GitHub

Zerlegen Sie ein einzelnes Qubit-Gatter in eine Schaltung.

Parameter

  • unitary (Operator |Gate | np.ndarray) – 1-Qubit-Unitar-Matrix
  • simplify (bool) – gatteranzahl bei der Zerlegung reduzieren [Standard: Wahr].
  • atol (float) – absolute Toleranz für die Überprüfung der Winkel bei der Vereinfachung der Rücklaufschaltung [Standardwert: 1e-12].

Rückgabe

die zerlegte Ein-Qubit-Gatterschaltung

Rückgabetyp

QuantumCircuit

Erhöht

QiskitError – wenn die Eingabe ungültig ist oder die Synthese fehlschlägt.

Initialisierung des Zersetzers

Unterstützte Basen sind: 'U', 'PSX', 'ZSXX', 'ZSX', 'U321', 'U3', 'U1X', 'RR', 'ZYZ', 'ZXZ', 'XYX', 'XZX'.

Parameter

  • basis (str) – die Zerlegungsbasis [Standard: 'U3']
  • use_dag (bool) – Wenn dies zutrifft, ist die Ausgabe von Aufrufen des Dekompositors ein DAGCircuit Objekt anstelle von QuantumCircuit.

Erhöht

QiskitError – Wenn die Eingabegrundlage nicht erkannt wird.


Attribute

basis

Die Zersetzungsbasis.


Methoden

angles

angles(unitary)

GitHub

Gibt die Euler-Winkel für das Eingabefeld zurück.

Parameter

unitary (ndarray) – 2×22\times2 unitäre Matrix.

Rückgabe

(theta, phi, lambda).

Rückgabetyp

Tupel

angles_and_phase

angles_and_phase(unitary)

GitHub

Gibt die Euler-Winkel und die Phase für das Eingabefeld zurück.

Parameter

unitary (ndarray) – 2×22\times2

Rückgabe

(theta, phi, lambda, phase).

Rückgabetyp

Tupel

build_circuit

build_circuit(gates, global_phase)

GitHub

Gibt das Schaltkreis- oder Dag-Objekt aus einer Liste von Gates zurück.

Rückgabetyp

QuantumCircuit | DAGCircuit

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.