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

Basi: FunctionalPauliRotations

Rotazione X, Y o Z a controllo lineare.

Per un registro di qubit di stato x|x\rangle, un qubit di destinazione 0|0\rangle e la base 'Y' questo circuito agisce come:

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

                                  .

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

Questo può essere utilizzato, ad esempio, per approssimare funzioni lineari, con a=a = slope /2/2 e b=b = offset /2/2 e 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

Poiché per piccoli argomenti sin(x)x\sin(x) \approx x questo operatore può essere utilizzato per approssimare funzioni lineari.

Parametri

  • num_state_qubits (int | None) – Il numero di qubit che rappresentano lo stato x|x\rangle.
  • slope (float) – La pendenza della rotazione controllata.
  • offset (float) – L'offset della rotazione controllata.
  • basis (str) – Il tipo di rotazione Pauli ('X', 'Y', 'Z').
  • name (str) – Il nome dell'oggetto circuito.

Attributi

offset

L'angolo di rotazione dell'offset del singolo qubit sul qubit di destinazione.

Prima di applicare le rotazioni controllate, al qubit di destinazione viene applicata una singola rotazione dell'angolo offset .

Risultati

L'angolo di offset.

slope

Il fattore moltiplicativo dell'angolo di rotazione delle rotazioni controllate.

Gli angoli di rotazione sono slope * 2^0, slope * 2^1,..., slope * 2^(n-1) dove n è il numero di qubit di stato.

Risultati

L'angolo di rotazione comune a tutte le rotazioni controllate.

name

Tipo: str

Un nome leggibile per il circuito.

Esempio

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.