FourierChecking
class qiskit.circuit.library.FourierChecking(f, g)
Bases : QuantumCircuit
Circuit de vérification de Fourier.
Le circuit de l'algorithme de vérification de Fourier, présenté au point [1], comprend une couche de Hadamards, la fonction , une autre couche de Hadamards, la fonction , suivie d'une dernière couche de Hadamards. Les fonctions et sont des fonctions classiques réalisées comme des oracles de phase (opérateurs diagonaux avec {-1, 1} sur la diagonale).
La probabilité d'observer la chaîne de tous les zéros est de . L'algorithme résout le problème de vérification de la promesse de Fourier, qui détermine si f est corrélé avec la transformée de Fourier de g, en testant si ou , en promettant que l'un ou l'autre est vrai.
Les fonctions et sont actuellement mises en œuvre à partir de leurs tables de vérité, mais elles pourraient être représentées de manière concise et mises en œuvre efficacement pour des classes spéciales de fonctions.
La vérification de Fourier est un cas particulier de -fold pour la relation [2.]
Références :
[1] S. Aaronson, BQP and the Polynomial Hierarchy, 2009 (Section 3.2 ). arXiv:0910.4698
[2] S. Aaronson, A. Ambainis, Forrelation : a problem that optimally separates quantum from classical computing, 2014. arXiv:1411.5729
Créer un circuit de vérification de Fourier.
La classe qiskit.circuit.library.fourier_checking.FourierChecking est obsolète depuis Qiskit 2.1. Elle sera supprimée à Qiskit 3.0. Utilisez plutôt qiskit.circuit.library.fourier_checking.
Paramètres
- f (Sequence[int]) – table de vérité pour f, longueur 2**n liste de {1,-1}.
- g (Sequence[int]) – table de vérité pour g, longueur 2**n liste de {1,-1}.
Augmentations
CircuitError – si les données d'entrée f et g ne sont pas valides.
Circuit de référence :

Attributs
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