PolynomialPauliRotations
class qiskit.circuit.library.PolynomialPauliRotations(num_state_qubits=None, coeffs=None, basis='Y', name='poly')
Bases: FunctionalPauliRotations
Un circuito que implementa rotaciones Pauli polinómicas.
basis="Y"Para un polinomio , un estado base del registro de estado y un qubit de destino inicializado en , este operador aplica una rotación de Pauli al qubit de destino con un ángulo . Para el valor por defecto, esto actúa de la siguiente manera:
Para basis="X", la acción sobre el qubit objetivo es:
Para basis="Z", la acción sobre el qubit objetivo es:
Sea el número de qubits que representan el estado, el grado de y los qubits, donde es el qubit menos significativo. Entonces, para
podemos escribir
donde son los coeficientes de entrada, coeffs.
Parámetros
- num_state_qubits (int | None) – Número de qubits que representan el estado.
- coeffs (list[float] | None) – Los coeficientes del polinomio.
coeffs[i]es el coeficiente de « ». El valor por defecto es «linear»:[0, 1]. - basis (str) – El tipo de rotación de Pauli (
"X","Y","Z"). - name (str) – El nombre del circuito.
Atributos
coeffs
Los coeficientes del polinomio.
coeffs[i] es el coeficiente de la i-ésima potencia de la función de entrada , lo que significa que los ángulos de rotación se basan en el valor de los coeficientes, siguiendo la fórmula
donde es el grado del polinomio y son los coeficientes coeffs.
Devuelve
Los coeficientes del polinomio.
degree
Devuelve el grado del polinomio, igual al número de coeficientes menos 1.
Devuelve
El grado del polinomio. Si no se han fijado los coeficientes, devuelve 0.
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