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

Un circuito que implementa rotaciones Pauli polinómicas.

basis="Y"Para un polinomio pp, un estado base i|i\rangle del registro de estado y un qubit de destino inicializado en 0|0\rangle, este operador aplica una rotación de Pauli al qubit de destino con un ángulo p(i)p(i). Para el valor por defecto, esto actúa de la siguiente manera:

0icos(p(i)2)0i+sin(p(i)2)1i|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", la acción sobre el qubit objetivo es:

0icos(p(i)2)0iisin(p(i)2)1i|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", la acción sobre el qubit objetivo es:

0ieip(i)/20i|0\rangle |i\rangle \mapsto e^{-i p(i) / 2} |0\rangle |i\rangle

Sea nn el número de qubits que representan el estado, dd el grado de pp y qiq_i los qubits, donde q0q_0 es el qubit menos significativo. Entonces, para

x=i=0n12iqi,x = \sum_{i=0}^{n-1} 2^i q_i,

podemos escribir

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

donde cc 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 « xix^i ». 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 xx, lo que significa que los ángulos de rotación se basan en el valor de los coeficientes, siguiendo la fórmula

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

donde dd es el grado del polinomio p(x)p(x) y cc 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
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.