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')
Costruire un ansatz di Pauli a 2 disegni.
Questa classe implementa una forma particolare di circuito a 2 design [1], che viene spesso studiato nella letteratura sull'apprendimento automatico quantistico, come ad esempio l'indagine sui plateau di Barren negli algoritmi variazionali [2].
Il circuito è costituito da strati alternati di rotazione e di entanglement, con uno strato iniziale di porte di tipo « ». Gli strati di rotazione contengono rotazioni di Pauli su un singolo qubit, in cui l'asse viene scelto in modo casuale e uniforme tra X, Y o Z. Gli strati di entanglement sono costituiti da porte CZ a coppie con una profondità totale di 2.
Ad esempio, il circuito potrebbe avere il seguente aspetto:
┌─────────┐┌──────────┐ ░ ┌──────────┐ ░ ┌──────────┐
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]) ├
└─────────┘└──────────┘ ░ └──────────┘ ░ └───────────┘Esempi:
from qiskit.circuit.library import pauli_two_design
circuit = pauli_two_design(4, reps=2, seed=5, insert_barriers=True)
circuit.draw("mpl")
Parametri
- num_qubits (int) – Il numero di qubit del circuito Pauli Two-Design.
- reps (int) – Specifica la frequenza con cui viene ripetuto un blocco composto da uno strato di rotazione e uno strato di entanglement.
- seed (int | None) – Il seme per la scelta casuale degli assi delle rotazioni Pauli.
- parameter_prefix (str) – Il prefisso utilizzato per i parametri di rotazione.
- insert_barriers (bool) – Se
True, tra ogni strato vengono inserite delle barriere. SeFalse, non vengono inserite barriere. L'impostazione predefinita èFalse. - name (str) – Il nome del circuito.
Risultati
Un circuito di progettazione Pauli 2.
Tipo di restituzione
Riferimenti:
[1] Nakata et al, Disegni unitari a 2 da unitari casuali delle diagonali X e Z. arXiv:1502.07514
[2] McClean et al., Altopiani sterili nei paesaggi di addestramento delle reti neurali quantistiche. arXiv:1803.11173