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')
Construir un ansatz de Pauli 2-design.
Esta clase implementa una forma particular de un circuito de diseño 2 [1], que se estudia con frecuencia en la literatura de aprendizaje de máquinas cuánticas, como, por ejemplo, la investigación de mesetas Barren en algoritmos variacionales [2].
El circuito se compone de capas alternas de rotación y entrelazamiento, con una capa inicial de puertas de « ». Las capas de rotación contienen rotaciones de Pauli de un solo qubit, en las que el eje se elige al azar de forma uniforme entre X, Y o Z. Las capas de entrelazamiento están formadas por puertas CZ por pares con una profundidad total de 2.
Por ejemplo, el circuito podría tener este aspecto:
┌─────────┐┌──────────┐ ░ ┌──────────┐ ░ ┌──────────┐
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]) ├
└─────────┘└──────────┘ ░ └──────────┘ ░ └───────────┘Ejemplos:
from qiskit.circuit.library import pauli_two_design
circuit = pauli_two_design(4, reps=2, seed=5, insert_barriers=True)
circuit.draw("mpl")
Parámetros
- num_qubits (int) – El número de qubits del circuito Pauli de dos diseños.
- reps (int) – Especifica la frecuencia con la que se repite un bloque formado por una capa de rotación y una capa de enredo.
- seed (int | None) – La semilla para elegir aleatoriamente los ejes de las rotaciones Pauli.
- parameter_prefix (str) – El prefijo utilizado para los parámetros de rotación.
- insert_barriers (bool) – Si
True, se insertan barreras entre cada capa. SiFalse, no se inserta ninguna barrera. Por defectoFalse. - name (str) – El nombre del circuito.
Devuelve
Un circuito Pauli de 2 diseños.
Tipo de retorno
Referencias:
[1] Nakata et al., 2-diseños unitarios a partir de unitarios X- y Z-diagonales aleatorios. arXiv:1502.07514
[2] McClean et al., Mesetas estériles en paisajes de entrenamiento de redes neuronales cuánticas. arXiv:1803.11173