Algorithme d'estimation de phase quantique

De testwiki
Version datée du 31 janvier 2025 à 11:40 par 194.214.171.56 (discussion) (Cas où le vecteur propre est connu)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Modèle:Voir homonymes

Représentation du Modèle:Lien de l'algorithme d'estimation de phase

En informatique quantique, l’algorithme d'estimation de phase quantique est un Modèle:Lien permettant d'estimer la valeur propre (ou sa phase, ce qui, dans ce cas précis, est équivalent) d'un opérateur unité associée à un vecteur propre donné.

Le problème

Les valeurs propres d'un opérateur unitaire U, agissant sur m bits, sont de module 1. Si |ψ est un vecteur propre de U, nous avons donc U|ψ=eiθ|ψ. Le but de cet algorithme est de trouver la valeur de la phase θ correspondant à un vecteur propre donné, ceci avec une précision de n bits (la phase n'a pas nécessairement une valeur exacte).

L'algorithme

Cas où le vecteur propre est connu

L'algorithme utilise deux registres quantiques : un registre de n bits initialisé à |0, c'est lui qui contiendra la valeur de la phase en sortie de l'algorithme, et un registre de m bits initialisé avec le vecteur propre |ψ. Concernant l'opérateur unitaire U, il est uniquement requis de pouvoir l'appliquer plusieurs fois de manière contrôlée, plus exactement nous devons être capables d'appliquer les portes contrôle-U, contrôle-U2, contrôle-U4 et ainsi de suite jusqu'à contrôle-U2n1.

La première étape consiste à appliquer une porte de Hadamard aux n qubits du premier registre, donnant ainsi l'état

12nx|x|ψ.

Ensuite, on applique au second registre les portes U2j1 contrôlées par le jème qubit du premier registre (j variant de 0 à n-1). On obtient alors l'état

12nxeixθ|x|ψ.

La dernière étape consiste à appliquer une transformée de Fourier quantique inverse aux n qubits du premier registre, ce qui nous donne

12nyxe2πixy/2neixθ|y|ψ.

En appelant a2n=a12+a24++an2n0.a1.a2an la meilleure approximation, à n bits, de θ, on obtient θ=a2n+δ avec 0<δ<12n+1. Et l'état précédent peut se réécrire

12nye2πiδy|a|ψ=12n1e2πiδ2n1e2πiδ|a|ψ.

Si δ=0 alors on obtient à coup sûr la phase, sinon on obtient son approximation a avec une probabilité |12n1e2πiδ2n1e2πiδ|24π2.

Cas où les vecteurs propres ne sont pas connus

Il n'est pas nécessaire de connaitre un vecteur propre à l'avance pour réaliser cet algorithme. En effet tout état |ψ peut être décomposé dans la base |ψi des vecteurs propres de U :

|ψ=ici|ψi

Auquel cas au lieu d'obtenir l'état |a|ψ à la fin de l'algorithme, nous obtenons l'état

i|ai|ψi

ai représente ici l'approximation de la phase θi de la valeur propre eiθi associée au vecteur propre |ψi Après mesure, on obtient donc (toujours avec une certaine probabilité supérieure à 4/π2) une des valeurs propres, ainsi que le vecteur propre associé. Le choix de la valeur propre est aléatoire et suit la règle de Born.

Complexité

Lorsque n qubits sont utilisés pour approximer θ, le coût de la transformée de Fourier quantique est en O(n2). Cependant, pour 0in1, la porte contrôle-U2i est implémentée en appliquant la porte contrôle-U 2i fois. De fait, en notant TU le temps nécessaire pour implémenter la porte contrôle-U, la complexité de l'algorithme est en O(TU2n).

Si l'on souhaite avoir une approximation de θ à ε près, alors il suffit de choisir un nombre n=log2(1ε) de qubits, aboutissant à une complexité en O(TU/ε).

Voir aussi

Article connexe

Algorithme de Shor

Lien externe

Modèle:Article, § 1.6.2 Modèle:Article, § 5

Modèle:Portail