qiskit.circuit.library.pauli_two_design
qiskit.circuit.library.pauli_two_design(num_qubits, reps=3, seed=None, insert_barriers=False, parameter_prefix='θ', name='PauliTwoDesign')
Konstruieren Sie einen Pauli-2-Entwurf-Ansatz.
Diese Klasse implementiert eine besondere Form eines 2-Design-Schaltkreises [1], der in der Literatur zum maschinellen Quantenlernen häufig untersucht wird, wie z. B. die Untersuchung von Barren-Plateaus in Variationsalgorithmen [2].
Die Schaltung besteht aus abwechselnden Rotations- und Verschränkungsschichten mit einer Anfangsschicht aus „ “-Gattern. Die Rotationsschichten enthalten Pauli-Rotationen eines einzelnen Qubits, wobei die Achse zufällig und gleichmäßig aus den Richtungen X, Y oder Z ausgewählt wird. Die Verschränkungsschichten bestehen aus paarweisen CZ-Gattern mit einer Gesamttiefe von 2.
Die Schaltung könnte zum Beispiel so aussehen:
┌─────────┐┌──────────┐ ░ ┌──────────┐ ░ ┌──────────┐
q_0: ┤ RY(π/4) ├┤ RZ(θ[0]) ├─■─────░─┤ RY(θ[4]) ├─■─────░──┤ RZ(θ[8]) ├
├─────────┤├──────────┤ │ ░ ├──────────┤ │ ░ ├──────────┤
q_1: ┤ RY(π/4) ├┤ RZ(θ[1]) ├─■──■──░─┤ RY(θ[5]) ├─■──■──░──┤ RX(θ[9]) ├
├─────────┤├──────────┤ │ ░ ├──────────┤ │ ░ ┌┴──────────┤
q_2: ┤ RY(π/4) ├┤ RX(θ[2]) ├─■──■──░─┤ RY(θ[6]) ├─■──■──░─┤ RX(θ[10]) ├
├─────────┤├──────────┤ │ ░ ├──────────┤ │ ░ ├───────────┤
q_3: ┤ RY(π/4) ├┤ RZ(θ[3]) ├─■─────░─┤ RX(θ[7]) ├─■─────░─┤ RY(θ[11]) ├
└─────────┘└──────────┘ ░ └──────────┘ ░ └───────────┘Beispiele:
from qiskit.circuit.library import pauli_two_design
circuit = pauli_two_design(4, reps=2, seed=5, insert_barriers=True)
circuit.draw("mpl")
Parameter
- num_qubits (int) – Die Anzahl der Qubits der Pauli-Zweier-Schaltung.
- reps (int) – Gibt an, wie oft ein aus einer Rotationsschicht und einer Verschränkungsschicht bestehender Block wiederholt wird.
- seed (int | None) – Der Keim für die zufällige Auswahl der Achsen der Pauli-Drehungen.
- parameter_prefix (str) – Das Präfix, das für die Rotationsparameter verwendet wird.
- insert_barriers (bool) – Wenn
True, werden zwischen den einzelnen Schichten Barrieren eingefügt. WennFalse, werden keine Barrieren eingefügt. Die Standardeinstellung istFalse. - name (str) – Der Name des Stromkreises.
Rückgabe
Eine Pauli 2-Schaltung.
Rückgabetyp
Quellenangaben:
[1] Nakata et al, Unitäre 2-Entwürfe aus zufälligen X- und Z-Diagonalen-Unitariern. arXiv:1502.07514
[2] McClean et al., Unfruchtbare Plateaus in Trainingslandschaften für Quantenneuronale Netze. arXiv:1803.11173