Skip to main content
IBM Quantum Platform

LinearPauliRotations

class qiskit.circuit.library.LinearPauliRotations(num_state_qubits=None, slope=1, offset=0, basis='Y', name='LinRot')

GitHub

Bases : FunctionalPauliRotations

Rotation X, Y ou Z à commande linéaire.

Pour un registre de qubits d'état x|x\rangle, un qubit cible 0|0\rangle et la base 'Y' ce circuit agit comme :

    q_0: ─────────────────────────■───────── ... ──────────────────────

                                  .

q_(n-1): ─────────────────────────┼───────── ... ───────────■──────────
          ┌────────────┐  ┌───────┴───────┐       ┌─────────┴─────────┐
    q_n: ─┤ RY(offset) ├──┤ RY(2^0 slope) ├  ...  ┤ RY(2^(n-1) slope) ├
          └────────────┘  └───────────────┘       └───────────────────┘

Cela peut par exemple être utilisé pour approximer des fonctions linéaires, avec a=a = slope /2/2 et b=b = offset /2/2 et la base 'Y':

x0cos(ax+b)x0+sin(ax+b)x1|x\rangle |0\rangle \mapsto \cos(ax + b)|x\rangle|0\rangle + \sin(ax + b)|x\rangle |1\rangle

Étant donné que pour de petits arguments sin(x)x\sin(x) \approx x, cet opérateur peut être utilisé pour approximer des fonctions linéaires.

Paramètres

  • num_state_qubits (int | None) – Le nombre de qubits représentant l'état x|x\rangle.
  • slope (float) – La pente de la rotation contrôlée.
  • offset (float) – Le décalage de la rotation contrôlée.
  • basis (str) – Le type de rotation de Pauli ('X', 'Y', 'Z').
  • name (str) – Le nom de l'objet circuit.

Attributs

offset

L'angle de la rotation du qubit unique sur le qubit cible.

Avant d'appliquer les rotations contrôlées, une rotation unique de l'angle offset est appliquée au qubit cible.

Retours

L'angle de décalage.

slope

Le facteur multiplicatif de l'angle de rotation des rotations contrôlées.

Les angles de rotation sont slope * 2^0, slope * 2^1,..., slope * 2^(n-1)n est le nombre de qubits d'état.

Retours

L'angle de rotation commun à toutes les rotations contrôlées.

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
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.