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

Rotations de Pauli contrôlées de manière linéaire et fragmentaire.

Pour une fonction linéaire par morceaux (pas nécessairement continue) f(x)f(x), qui est définie par des points de rupture, des pentes et des décalages comme suit. Supposons que les points d'arrêt (x0,...,xJ)(x_0, ..., x_J) soient un sous-ensemble de [0,2n1][0, 2^n-1], où nn est le nombre de qubits d'état. Plus loin, les pentes et les décalages correspondants sont désignés respectivement par aja_j et bjb_j. La définition de f(x) est alors la suivante :

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}

où nous supposons implicitement xJ+1=2nx_{J+1} = 2^n.

Paramètres

  • num_state_qubits (int | None) – Le nombre de qubits représentant l'état.
  • breakpoints (list[int] | None) – Les points de rupture pour définir la fonction linéaire par morceaux. Prend par défaut la valeur [0].
  • slopes (list[float] | np.ndarray | None) – Les pentes pour différents segments de la fonction linéaire par morceaux. Prend par défaut la valeur [1].
  • offsets (list[float] | np.ndarray | None) – Les décalages pour les différents segments de la fonction linéaire par morceaux. Prend par défaut la valeur [0].
  • basis (str) – Le type de rotation de Pauli ('X', 'Y', 'Z').
  • name (str) – Le nom du circuit.

Attributs

breakpoints

Les points de rupture de la fonction linéaire par morceaux.

La fonction est linéaire dans les intervalles [point_i, point_{i+1}] où le dernier point est implicitement 2**(num_state_qubits + 1).

contains_zero_breakpoint

Si 0 est le premier point d'arrêt.

Retours

Vrai, si 0 est le premier point d'arrêt, sinon Faux.

mapped_offsets

Les décalages mappés dans la représentation interne.

Retours

Les décalages cartographiés.

mapped_slopes

Les pentes sont représentées dans la représentation interne.

Retours

Les pentes cartographiées.

offsets

Les ordonnées à l'origine de la fonction linéaire par morceaux.

La fonction est linéaire dans les intervalles [point_i, point_{i+1}] où le dernier point est implicitement 2**(num_state_qubits + 1).

slopes

Les pentes de la fonction linéaire par morceaux.

La fonction est linéaire dans les intervalles [point_i, point_{i+1}] où le dernier point est implicitement 2**(num_state_qubits + 1).

name

Type : str

Un nom lisible par l'homme pour le circuit.

Exemple

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit

Méthodes

evaluate

evaluate(x)

GitHub

Évaluer classiquement la rotation linéaire par morceaux.

Paramètres

x (float) – Valeur à évaluer.

Retours

Valeur de la fonction linéaire par morceaux en x.

Type de retour

Float

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.