# Transformée de Fourier quantique

En informatique quantique, la transformée de Fourier quantique (TFQ) est une transformation linéaire sur des bits quantiques, et est l'analogie quantique de la transformée de Fourier discrète. La transformée de Fourier quantique est l'un des nombreux algorithmes quantiques, qui incluent notamment l'algorithme de Shor qui permet de factoriser et de calculer le logarithme discret, l'algorithme d'estimation de phase quantique qui estime les valeurs propres d'un opérateur unitaire et les algorithmes traitant du problème de sous-groupe caché. La transformée de Fourier quantique a été découverte par Don Coppersmith.
La transformée de Fourier quantique peut être calculée efficacement à l'aide d'un ordinateur quantique, en utilisant une décomposition en un produit de matrices unitaires plus simples. À l'aide de cette décomposition, la transformée de Fourier discrète sur $2^{n}$amplitudes peut être mise en œuvre sous la forme d'un circuit quantique avec un nombre de Portes d'Hadamard et de portes à déphasage commandé évoluant en $O(n^{2})$, où $n$ est le nombre de qubits (le nombre de portes évolue selon une fonction en n^2). En comparaison, la transformée de Fourier discrète classique requiert un nombre de portes évoluant en $O(n2^{n})$, soit exponentiellement supérieur à $O(n^{2})$.
La transformée de Fourier quantique agit sur un vecteur d'état quantique, tandis que la transformée de Fourier classique agit sur un vecteur (classique). Dans les deux cas, ces vecteurs peuvent être écrits sous la forme de listes de nombres complexes. En ce qui concerne le cas quantique, ces nombres complexes représentent les amplitudes de probabilité des différents résultats obtenables par la mesure. Étant donné que la mesure réduit l'état quantique à une seule valeur (appelée état de base ou état propre), il n'est pas possible de profiter de l'accélération exponentielle apportée par la transformée de Fourier quantique pour chacune des tâches impliquant la transformée de Fourrier classique : la mesure d'un état quantique étant irréversible, on ne peut utiliser la transformée quantique comme raccourci que si cela n'implique qu'une seule mesure.
Les meilleurs algorithmes de transformée de Fourier quantique connus à ce jour (à la fin des années 2000) ne nécessitent qu'un nombre en $O(n\log n)$ de portes pour obtenir une approximation efficace.

## Définition

La transformée de Fourier quantique est la transformée de Fourier discrète classique appliquée au vecteur d'amplitudes d'un état quantique, où l'on considère habituellement des vecteurs de longueur $N=2^{n}$.
La transformée de Fourier classique agit sur un vecteur $(x_{0},x_{1},\ldots ,x_{N-1})\in \mathbb {C} ^{N}$ et lui associe le vecteur $(y_{0},y_{1},\ldots ,y_{N-1})\in \mathbb {C} ^{N}$ selon la formule :
    $y_{k}={\frac {1}{\sqrt {N}}}\sum _{n=0}^{N-1}x_{n}\omega _{N}^{-kn},\quad k=0,1,2,\ldots ,N-1,$
où $\omega _{N}=e^{\frac {2\pi i}{N}}$ et $\omega _{N}^{n}$ est une racine N -ième de l'unité.
De même, la transformée de Fourier quantique agit sur un état quantique |x⟩=∑$_{i=0}$$^{N−1}$x$_i$|i⟩{\textstyle |x\rangle =\sum _{i=0}^{N-1}x_{i}|i\rangle } et renvoie un état quantique ∑$_{i=0}$$^{N−1}$y$_i$|i⟩{\textstyle \sum _{i=0}^{N-1}y_{i}|i\rangle } selon la formule :
    $y_{k}={\frac {1}{\sqrt {N}}}\sum _{n=0}^{N-1}x_{n}\omega _{N}^{nk},\quad k=0,1,2,\ldots ,N-1,$
(Les conventions pour le signe de l'exposant du facteur de phase varient ; ici, l'on suit la convention telle que la transformée de Fourier quantique a le même effet que la transformée de Fourier discrète inverse, et vice versa. )
Étant donné $\omega _{N}^{n}$ est une rotation de $\omega _{N}$ , la transformée de Fourier quantique inverse agit de manière similaire, mais avec :
    $x_{n}={\frac {1}{\sqrt {N}}}\sum _{k=0}^{N-1}y_{k}\omega _{N}^{-nk},\quad n=0,1,2,\ldots ,N-1,$
Si $|x\rangle$ est un état de base, la transformée de Fourier quantique peut également être exprimée ainsi
    ${\text{TFQ}}:|x\rangle \mapsto {\frac {1}{\sqrt {N}}}\sum _{k=0}^{N-1}\omega _{N}^{xk}|k\rangle .$
De manière équivalente, la transformée de Fourier quantique peut être considérée comme une matrice unitaire (ou porte quantique ) agissant sur des vecteurs d'état quantiques, où la matrice unitaire $F_{N}$ est donné par
    $F_{N}={\frac {1}{\sqrt {N}}}{\begin{bmatrix}1&1&1&1&\cdots &1\\1&\omega &\omega ^{2}&\omega ^{3}&\cdots &\omega ^{N-1}\\1&\omega ^{2}&\omega ^{4}&\omega ^{6}&\cdots &\omega ^{2(N-1)}\\1&\omega ^{3}&\omega ^{6}&\omega ^{9}&\cdots &\omega ^{3(N-1)}\\\vdots &\vdots &\vdots &\vdots &&\vdots \\1&\omega ^{N-1}&\omega ^{2(N-1)}&\omega ^{3(N-1)}&\cdots &\omega ^{(N-1)(N-1)}\end{bmatrix}}$
où $\omega =\omega _{N}$. Par exemple, dans le cas où $N=4=2^{2}$ et où la phase $\omega =i$ la matrice de transformation devient alors
    $F_{4}={\frac {1}{2}}{\begin{bmatrix}1&1&1&1\\1&i&-1&-i\\1&-1&1&-1\\1&-i&-1&i\end{bmatrix}}$

## Propriétés
### Unitarité

La plupart des propriétés de la transformée de Fourier quantique se déduisent du fait qu'il s'agit d'une transformation unitaire. Ceci peut être vérifié en effectuant une multiplication matricielle et en s'assurant que la relation $FF^{\dagger }=F^{\dagger }F=I$ détient, où $F^{\dagger }$ est l'adjoint hermitien de $F$. Alternativement, on peut vérifier que les vecteurs orthogonaux de norme 1 ont pour image des vecteurs orthogonaux de norme 1.
Du fait que la transformée soit unitaire, il s'ensuit que son inverse est l'adjoint hermitien de la matrice de Fourier, d'où $F^{-1}=F^{\dagger }$. Puisqu'il existe un circuit quantique efficace mettant en œuvre la transformée de Fourier quantique, ce même circuit peut être utilisé dans le sens opposé afin de calculer la transformée de Fourier quantique inverse. Ainsi, ces deux transformations peuvent être effectuées efficacement sur un ordinateur quantique.

## Structure pratique du circuit

Les portes quantiques utilisées dans ce circuit sont la porte d'Hadamard et les portes de phase $R_{m}$
    $H={\frac {1}{\sqrt {2}}}{\begin{pmatrix}1&1\\1&-1\end{pmatrix}}\qquad {\text{and}}\qquad R_{m}={\begin{pmatrix}1&0\\0&e^{2\pi i/2^{m}}\end{pmatrix}}$
avec $e^{2\pi i/2^{m}}=\omega _{m}'=\omega _{\left(2^{m}\right)}$ la primitive $2^{m}$ -ème racine de l'unité. Le circuit est composé de portes $H$ et des versions contrôlée de $R_{m}$
On suppose $N=2^{n}$. L'on a une base orthonormée constituée des vecteurs
    $|0\rangle ,\ldots ,|2^{n}-1\rangle .$
Les états de base incluent tous les états possibles des qubits :
    $|x\rangle =|x_{1}x_{2}\ldots x_{n}\rangle =|x_{1}\rangle \otimes |x_{2}\rangle \otimes \cdots \otimes |x_{n}\rangle$
où, avec la notation du produit tensoriel (ou produit de Kronecker) $\otimes$, $|x_{j}\rangle$ indique ce qubit $j$ est en état $x_{j}$, avec $x_{j}$ soit 0 soit 1. Par convention, l'indice d'état de base $x$ est le nombre binaire codé par le $x_{j}$, avec $x_{1}$ le bit le plus significatif. Ainsi, nous pouvons écrire la transformée de Fourier quantique comme suit :
    ${\text{TFQ}}(|x\rangle )={\frac {1}{\sqrt {N}}}\bigotimes _{j=1}^{n}\left(|0\rangle +\omega _{n}'^{x2^{n-j}}|1\rangle \right).$
Il est également utile d'emprunter la notation binaire fractionnaire :
    $[0.x_{1}\ldots x_{m}]=\sum _{k=1}^{m}x_{k}2^{-k}.$
Avec cette notation, la transformée de Fourier quantique peut s'exprimer de manière compacte :
    ${\text{TFQ}}(|x_{1}x_{2}\ldots x_{n}\rangle )={\frac {1}{\sqrt {N}}}\ \left(|0\rangle +e^{2\pi i\,[0.x_{n}]}|1\rangle \right)\otimes \left(|0\rangle +e^{2\pi i\,[0.x_{n-1}x_{n}]}|1\rangle \right)\otimes \cdots \otimes \left(|0\rangle +e^{2\pi i\,[0.x_{1}x_{2}\ldots x_{n}]}|1\rangle \right).$
Afin d'obtenir cet état à partir du circuit décrit ci-dessus, une opération d'échange des qubits doit être effectuée pour inverser leur ordre. Au plus $n/2$ échanges sont nécessaires.
En d'autres termes, la transformée de Fourier discrète, une opération sur n qubits, peut être factorisée comme le produit tensoriel de n opérations à un seul qubit. Cela suggère qu'elle peut être facilement représentée comme un circuit quantique (à une inversion de l'ordre de sortie près). En effet, chacune des opérations affectant un seul qubit peuvent être mise en œuvre efficacement à l'aide d'une porte d'Hadamard et de portes à phase contrôlées. Le premier terme nécessite une porte d'Hadamard et $(n-1)$ portes de phase contrôlées, la suivante nécessite une porte d'Hadamard et $(n-2)$ porte de phase contrôlée, et chaque terme suivant nécessite une porte à phase contrôlée de moins. En additionnant le nombre de portes, à l'exclusion de celles nécessaires à l'inversion de sortie, on obtient $n+(n-1)+\cdots +1=n(n+1)/2=O(n^{2})$ portes, ce qui est un polynôme quadratique en nombre de qubits.

## Exemple

Considérons la transformée de Fourier quantique à trois qubits. Il s'agit de la transformation suivante :
    ${\text{TFQ}}:|x\rangle \mapsto {\frac {1}{\sqrt {2^{3}}}}\sum _{k=0}^{2^{3}-1}\omega _{3}'^{xk}|k\rangle ,$
où $\omega _{3}'=\omega _{\left(2^{3}\right)}$ est une racine huitième de l'unité satisfaisant $\omega _{3}'^{8}=\left(e^{\frac {2\pi i}{2^{3}}}\right)^{8}=1$ (puisque $N=2^{3}=8$).
En posant $\omega =\omega _{3}'=\omega _{8}$, la représentation matricielle de cette transformation sur 3 qubits est :
    $F_{2^{3}}={\frac {1}{\sqrt {2^{3}}}}{\begin{bmatrix}1&1&1&1&1&1&1&1\\1&\omega &\omega ^{2}&\omega ^{3}&\omega ^{4}&\omega ^{5}&\omega ^{6}&\omega ^{7}\\1&\omega ^{2}&\omega ^{4}&\omega ^{6}&1&\omega ^{2}&\omega ^{4}&\omega ^{6}\\1&\omega ^{3}&\omega ^{6}&\omega &\omega ^{4}&\omega ^{7}&\omega ^{2}&\omega ^{5}\\1&\omega ^{4}&1&\omega ^{4}&1&\omega ^{4}&1&\omega ^{4}\\1&\omega ^{5}&\omega ^{2}&\omega ^{7}&\omega ^{4}&\omega &\omega ^{6}&\omega ^{3}\\1&\omega ^{6}&\omega ^{4}&\omega ^{2}&1&\omega ^{6}&\omega ^{4}&\omega ^{2}\\1&\omega ^{7}&\omega ^{6}&\omega ^{5}&\omega ^{4}&\omega ^{3}&\omega ^{2}&\omega \\\end{bmatrix}}.$
La transformée de Fourier quantique à 3 qubits peut être réécrite comme suit :
    ${\text{TFQ}}(|x_{1},x_{2},x_{3}\rangle )={\frac {1}{\sqrt {2^{3}}}}\ \left(|0\rangle +e^{2\pi i\,[0.x_{3}]}|1\rangle \right)\otimes \left(|0\rangle +e^{2\pi i\,[0.x_{2}x_{3}]}|1\rangle \right)\otimes \left(|0\rangle +e^{2\pi i\,[0.x_{1}x_{2}x_{3}]}|1\rangle \right).$
Dans le schéma suivant, nous avons le circuit respectif pour $n=3$ (l'ordre des qubits de sortie étant inversé par rapport à la TFQ à proprement parler):
Comme calculé ci-dessus, le nombre de portes utilisées est $n(n+1)/2$ qui est égal à $6$, pour $n=3$.

## Relation avec la transformée d'Hadamard quantique

En utilisant la transformée de Fourier généralisée sur des groupes finis (abéliens), il existe en fait deux manières naturelles de définir une transformée de Fourier quantique sur un registre quantique à n qubits. La TFQ tel que définie ci-dessus est équivalente à la TFD, qui considère ces n qubits comme indexés par le groupe cyclique $\mathbb {Z} /2^{n}\mathbb {Z}$. Cependant, il est également logique de considérer les qubits comme indexés par le groupe booléen $(\mathbb {Z} /2\mathbb {Z} )^{n}$, et dans ce cas la transformée de Fourier est la transformée d'Hadamard. Ceci est fait en appliquant une porte d'Hadamard à chacun des n qubits en parallèle$^,$. Notez que l'algorithme de Shor utilise les deux types de transformées de Fourier, à la fois une transformée d'Hadamard initiale et une TFQ.