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 circuit mettant en œuvre des rotations polynomiales de Pauli.

basis="Y"Pour un polynôme pp, un état de base i|i\rangle du registre d'état et un qubit cible initialisé à 0|0\rangle, cet opérateur applique une rotation de Pauli au qubit cible selon l'angle p(i)p(i). Par défaut, cela se traduit par :

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

Pour basis="X", l'action sur le qubit cible est la suivante :

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

Pour basis="Z", l'action sur le qubit cible est la suivante :

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

Soit nn le nombre de qubits représentant l'état, dd le degré d' pp et qiq_i les qubits, où q0q_0 est le qubit le moins significatif. Ensuite, pour

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

on peut écrire

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

cc sont les coefficients d'entrée, coeffs.

Paramètres

  • num_state_qubits (int | None) – Le nombre de qubits représentant l'état.
  • coeffs (list[float] | None) – Les coefficients du polynôme. coeffs[i] est le coefficient d' xix^i e. La valeur par défaut est « linéaire » [0, 1]:.
  • basis (str) – Le type de rotation de Pauli ("X", "Y", "Z").
  • name (str) – Le nom du circuit.

Attributs

coeffs

Les coefficients du polynôme.

coeffs[i] est le coefficient de la i-ième puissance de la fonction d'entrée xx, ce qui signifie que les angles de rotation sont basés sur la valeur des coefficients, selon la formule suivante

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

dd est le degré du polynôme p(x)p(x) et cc sont les coefficients coeffs.

Retours

Les coefficients du polynôme.

degree

Renvoie le degré du polynôme, égal au nombre de coefficients moins 1.

Retours

Le degré du polynôme. Si les coefficients n'ont pas été fixés, la valeur 0 est renvoyée.

name

Type : str

Un nom lisible par l'homme pour le circuit.

Exemple

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)
my_circuit
Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.