PiecewiseLinearPauliRotations
class qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')
Bases: FunctionalPauliRotations
Rotaciones Pauli controladas linealmente a trozos.
Para una función lineal a trozos (no necesariamente continua) , que se define mediante puntos de ruptura, pendientes y desplazamientos de la siguiente manera. Supongamos que los puntos de ruptura son un subconjunto de , donde es el número de qubits de estado. Más adelante, denotaremos las pendientes y los desplazamientos correspondientes por y respectivamente. Entonces f(x) se define como
donde asumimos implícitamente .
Parámetros
- num_state_qubits (int | None) – Número de qubits que representan el estado.
- breakpoints (list[int] | None) – Los puntos de ruptura para definir la función lineal a trozos. El valor predeterminado es
[0]. - slopes (list[float] | np.ndarray | None) – Las pendientes de los distintos segmentos de la función lineal a trozos. El valor predeterminado es
[1]. - offsets (list[float] | np.ndarray | None) – Los desplazamientos de los distintos segmentos de la función lineal a trozos. El valor predeterminado es
[0]. - basis (str) – El tipo de rotación Pauli (
'X','Y','Z'). - name (str) – El nombre del circuito.
Atributos
breakpoints
Los puntos de ruptura de la función lineal a trozos.
La función es lineal en los intervalos [point_i, point_{i+1}] donde el último punto es implícitamente 2**(num_state_qubits + 1).
contains_zero_breakpoint
Si 0 es el primer punto de interrupción.
Devuelve
True, si 0 es el primer punto de interrupción, en caso contrario False.
mapped_offsets
Los desplazamientos asignados a la representación interna.
Devuelve
Los desplazamientos cartografiados.
mapped_slopes
Las pendientes asignadas a la representación interna.
Devuelve
Las pendientes cartografiadas.
offsets
Los desplazamientos de la función lineal por tramos.
La función es lineal en los intervalos [point_i, point_{i+1}] donde el último punto es implícitamente 2**(num_state_qubits + 1).
slopes
Las pendientes de la función lineal por tramos.
La función es lineal en los intervalos [point_i, point_{i+1}] donde el último punto es implícitamente 2**(num_state_qubits + 1).
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