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

Rotação X, Y ou Z com controle linear.

Para um registro de qubits de estado x|x\rangle, um qubit de destino 0|0\rangle e a base 'Y' , esse circuito funciona como:

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

                                  .

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

Isso pode, por exemplo, ser usado para aproximar funções lineares, com a=a = slope /2/2 e b=b = offset /2/2 e a 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

Como para argumentos pequenos sin(x)x\sin(x) \approx x esse operador pode ser usado para aproximar funções lineares.

Parâmetros

  • num_state_qubits (int | None) – O número de qubits que representam o estado x|x\rangle.
  • slope (float) – A inclinação da rotação controlada.
  • offset (float) – O deslocamento da rotação controlada.
  • basis (str) – O tipo de rotação Pauli ("X", "Y", "Z").
  • name (str) – O nome do objeto de circuito.

Atributos

offset

O ângulo da rotação de deslocamento do qubit único no qubit de destino.

Antes de aplicar as rotações controladas, uma única rotação de ângulo offset é aplicada ao qubit de destino.

Retorna

O ângulo de deslocamento.

slope

O fator multiplicativo no ângulo de rotação das rotações controladas.

Os ângulos de rotação são slope * 2^0, slope * 2^1,..., slope * 2^(n-1) onde n é o número de qubits de estado.

Retorna

O ângulo de rotação comum em todas as rotações controladas.

name

Tipo: str

Um nome legível por humanos para o circuito.

Exemplo

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.