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

Rotación X, Y o Z controlada linealmente.

Para un registro de qubits de estado x|x\rangle, un qubit objetivo 0|0\rangle y la base 'Y' este circuito actúa como:

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

                                  .

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

Esto puede utilizarse, por ejemplo, para aproximar funciones lineales, con a=a = slope /2/2 y b=b = offset /2/2 y 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

Dado que para argumentos pequeños sin(x)x\sin(x) \approx x este operador puede utilizarse para aproximar funciones lineales.

Parámetros

  • num_state_qubits (int | None) – El número de qubits que representan el estado x|x\rangle.
  • slope (float) – La pendiente de la rotación controlada.
  • offset (float) – El desplazamiento de la rotación controlada.
  • basis (str) – El tipo de rotación Pauli ('X', 'Y', 'Z').
  • name (str) – El nombre del objeto circuito.

Atributos

offset

El ángulo de la rotación del qubit único desplazado sobre el qubit objetivo.

Antes de aplicar las rotaciones controladas, se aplica una única rotación de ángulo offset al qubit objetivo.

Devuelve

El ángulo de desplazamiento.

slope

Factor multiplicativo del ángulo de rotación de las rotaciones controladas.

Los ángulos de rotación son slope * 2^0, slope * 2^1,..., slope * 2^(n-1) donde n es el número de qubits de estado.

Devuelve

El ángulo de rotación común en todas las rotaciones controladas.

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
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.