Skip to main content
IBM Quantum Platform

PiecewiseLinearPauliRotations

class qiskit.circuit.library.PiecewiseLinearPauliRotations(num_state_qubits=None, breakpoints=None, slopes=None, offsets=None, basis='Y', name='pw_lin')

GitHub

Bases: FunctionalPauliRotations

Rotaciones Pauli controladas linealmente a trozos.

Para una función lineal a trozos (no necesariamente continua) f(x)f(x), que se define mediante puntos de ruptura, pendientes y desplazamientos de la siguiente manera. Supongamos que los puntos de ruptura (x0,...,xJ)(x_0, ..., x_J) son un subconjunto de [0,2n1][0, 2^n-1], donde nn es el número de qubits de estado. Más adelante, denotaremos las pendientes y los desplazamientos correspondientes por aja_j y bjb_j respectivamente. Entonces f(x) se define como

f(x)={0,x<x0aj(xxj)+bj,xjx<xj+1f(x) = \begin{cases} 0, x < x_0 \\ a_j (x - x_j) + b_j, x_j \leq x < x_{j+1} \end{cases}

donde asumimos implícitamente xJ+1=2nx_{J+1} = 2^n.

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

Métodos

evaluate

evaluate(x)

GitHub

Evaluar clásicamente la rotación lineal a trozos.

Parámetros

x (float) – Valor al que debe evaluarse.

Devuelve

Valor de la función lineal a trozos en x.

Tipo de retorno

Float

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.