Skip to main content
IBM Quantum Platform

PolynomialPauliRotations

class qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')

GitHub

Bases: FunctionalPauliRotations

Um circuito que implementa rotações polinomiais de Pauli.

basis="Y"Para um polinômio pp, um estado de base ∣i⟩|i\rangle do registro de estado e um qubit-alvo inicializado em ∣0⟩|0\rangle, este operador aplica uma rotação de Pauli ao qubit-alvo no ângulo p(i)p(i). Para o valor padrão, isso funciona da seguinte forma:

∣0⟩∣i⟩↦cos⁡(p(i)2)∣0⟩∣i⟩+sin⁡(p(i)2)∣1⟩∣i⟩|0\rangle |i\rangle \mapsto \cos\left(\frac{p(i)}{2}\right) |0\rangle |i\rangle + \sin\left(\frac{p(i)}{2}\right) |1\rangle |i\rangle

Para basis="X", a ação sobre o qubit alvo é:

∣0⟩∣i⟩↦cos⁡(p(i)2)∣0⟩∣i⟩−isin⁡(p(i)2)∣1⟩∣i⟩|0\rangle |i\rangle \mapsto \cos\left(\frac{p(i)}{2}\right) |0\rangle |i\rangle - i\sin\left(\frac{p(i)}{2}\right) |1\rangle |i\rangle

Para basis="Z", a ação sobre o qubit alvo é:

∣0⟩∣i⟩↦e−ip(i)/2∣0⟩∣i⟩|0\rangle |i\rangle \mapsto e^{-i p(i) / 2} |0\rangle |i\rangle

Seja nn o número de qubits que representam o estado, dd o grau de pp e qiq_i os qubits, sendo que q0q_0 é o qubit menos significativo. Então, para

x=∑i=0n−12iqi,x = \sum_{i=0}^{n-1} 2^i q_i,

podemos escrever

p(x)=∑j=0j=dcjxjp(x) = \sum_{j=0}^{j=d} c_j x^j

em que cc são os coeficientes de entrada, coeffs.

Parâmetros

  • num_state_qubits (int | None) – O número de qubits que representam o estado.
  • coeffs (list[float] | None) – Os coeficientes do polinômio. coeffs[i] é o coeficiente de “ xix^i ”. O valor padrão é “linear”: [0, 1].
  • basis (str) – O tipo de rotação de Pauli ("X", "Y", "Z").
  • name (str) – O nome do circuito.

Atributos

coeffs

Os coeficientes do polinômio.

coeffs[i] é o coeficiente da i-ésima potência da entrada da função xx, o que significa que os ângulos de rotação são baseados no valor dos coeficientes, de acordo com a fórmula

cjxj,j=0,...,dc_j x^j , j=0, ..., d

em que dd é o grau do polinômio p(x)p(x) e cc são os coeficientes coeffs.

Retorna

Os coeficientes do polinômio.

degree

Retorna o grau do polinômio, igual ao número de coeficientes menos 1.

Retorna

O grau do polinômio. Se os coeficientes não tiverem sido definidos, retorne 0.

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.