pauli_two_design
class qiskit.circuit.library.pauli_two_design(num_qubits, reps=3, seed=None, insert_barriers=False, parameter_prefix='θ', name='PauliTwoDesign')
Bases:
Construct a Pauli 2-design ansatz.
This class implements a particular form of a 2-design circuit [1], which is frequently studied in quantum machine learning literature, such as, e.g., the investigation of Barren plateaus in variational algorithms [2].
The circuit consists of alternating rotation and entanglement layers with an initial layer of gates. The rotation layers contain single qubit Pauli rotations, where the axis is chosen uniformly at random to be X, Y or Z. The entanglement layers is compromised of pairwise CZ gates with a total depth of 2.
For instance, the circuit could look like this:
┌─────────┐┌──────────┐ ░ ┌──────────┐ ░ ┌──────────┐
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]) ├
└─────────┘└──────────┘ ░ └──────────┘ ░ └───────────┘
Examples
from qiskit.circuit.library import pauli_two_design
circuit = pauli_two_design(4, reps=2, seed=5, insert_barriers=True)
circuit.draw("mpl")
Parameters
- num_qubits (int) – The number of qubits of the Pauli Two-Design circuit.
- reps (int) – Specifies how often a block consisting of a rotation layer and entanglement layer is repeated.
- seed (int | None) – The seed for randomly choosing the axes of the Pauli rotations.
- parameter_prefix (str) – The prefix used for the rotation parameters.
- insert_barriers (bool) – If
True
, barriers are inserted in between each layer. IfFalse
, no barriers are inserted. Defaults toFalse
. - name (str) – The circuit name.
Returns
A Pauli 2-design circuit.
Return type
References
[1]: Nakata et al., Unitary 2-designs from random X- and Z-diagonal unitaries.
[2]: McClean et al., Barren plateaus in quantum neural network training landscapes.