PolynomialPauliRotations
class qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')
Bases: FunctionalPauliRotations
Um circuito que implementa rotações polinomiais de Pauli.
basis="Y"Para um polinômio , um estado de base do registro de estado e um qubit-alvo inicializado em , este operador aplica uma rotação de Pauli ao qubit-alvo no ângulo . Para o valor padrão, isso funciona da seguinte forma:
Para basis="X", a ação sobre o qubit alvo é:
Para basis="Z", a ação sobre o qubit alvo é:
Seja o número de qubits que representam o estado, o grau de e os qubits, sendo que é o qubit menos significativo. Então, para
podemos escrever
em que 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 “ ”. 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 , o que significa que os ângulos de rotação são baseados no valor dos coeficientes, de acordo com a fórmula
em que é o grau do polinômio e 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