LinearPauliRotations
class qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')
Bases: FunctionalPauliRotations
Rotación X, Y o Z controlada linealmente.
Para un registro de qubits de estado , un qubit objetivo y la base 'Y' este circuito actúa como:
q_0: ─────────────────────────■───────── ... ──────────────────────
│
.
│
q_(n-1): ─────────────────────────┼───────── ... ───────────■──────────
┌────────────┐ ┌───────┴───────┐ ┌─────────┴─────────┐
q_n: ─┤ RY(offset) ├──┤ RY(2^0 slope) ├ ... ┤ RY(2^(n-1) slope) ├
└────────────┘ └───────────────┘ └───────────────────┘Esto puede utilizarse, por ejemplo, para aproximar funciones lineales, con slope y offset y la base 'Y':
Dado que para argumentos pequeños este operador puede utilizarse para aproximar funciones lineales.
Parámetros
- num_state_qubits (int | None) – El número de qubits que representan el estado .
- slope (float) – La pendiente de la rotación controlada.
- offset (float) – El desplazamiento de la rotación controlada.
- basis (str) – El tipo de rotación Pauli ('X', 'Y', 'Z').
- name (str) – El nombre del objeto circuito.
Atributos
offset
El ángulo de la rotación del qubit único desplazado sobre el qubit objetivo.
Antes de aplicar las rotaciones controladas, se aplica una única rotación de ángulo offset al qubit objetivo.
Devuelve
El ángulo de desplazamiento.
slope
Factor multiplicativo del ángulo de rotación de las rotaciones controladas.
Los ángulos de rotación son slope * 2^0, slope * 2^1,..., slope * 2^(n-1) donde n es el número de qubits de estado.
Devuelve
El ángulo de rotación común en todas las rotaciones controladas.
name
Tipo: str
Un nombre legible para el circuito.
Ejemplo
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)my_circuit