Trasformata di Fourier quantistica

In computazione quantistica, la trasformata di Fourier quantistica (abbreviazione dall'inglese: QFT) è una trasformazione lineare su qubit, ed è l'analogo quantistico della trasformata discreta di Fourier inversa. La trasformata di Fourier quantistica fa parte di molti algoritmi quantistici, in particolare l'algoritmo di fattorizzazione di Shor per fattorizzare e calcolare il logaritmo discreto, l'algoritmo quantistico di stima della fase per stimare gli autovalori di un operatore unitario, e algoritimi per il problema del sottogruppo nascosto. La trasformata di Fourier quantistica fu inventata da Don Coppersmith.[1]

La trasformata di Fourier quantistica può essere effettuata efficientemente su un computer quantistico, con una particolare scomposizione in un prodotto di matrici unitarie più semplici. Usando una semplice scomposizione, la trasformata di Fourier discreta su 2 n {\displaystyle 2^{n}} ampiezze può essere implementato come un circuito quantistico che consiste solo di O ( n 2 ) {\displaystyle O(n^{2})} porte di Hadamard e porte di phase shift controllate, dove n {\displaystyle n} è il numero dei qubit.[2] Ciò può essere paragonato alla trasformata di Fourier discreta classica, che ha O ( n 2 n ) {\displaystyle O(n2^{n})} porte (dove n {\displaystyle n} è il numero dei bit), che è esponenzialmente più di O ( n 2 ) {\displaystyle O(n^{2})} .

I migliori algoritmi noti per la trasformata di Fourier quantistica (agli ultimi anni 2000) necessitano solo di O ( n log n ) {\displaystyle O(n\log n)} porte per ottenere una buona approssimazione.[3]

Definizione

La trasformata di Fourier quantistica è la trasformata di Fourier classica applicata al vettore di ampiezze di uno stato quantistico, dove solitamente si considerano vettori di lunghezza N = 2 n {\displaystyle N=2^{n}} .

La trasformata di Fourier classica agisce su un vettore ( x 0 , x 1 , , x N 1 ) C N {\displaystyle (x_{0},x_{1},\ldots ,x_{N-1})\in \mathbb {C} ^{N}} e lo mappa sul vettore ( y 0 , y 1 , , y N 1 ) C N {\displaystyle (y_{0},y_{1},\ldots ,y_{N-1})\in \mathbb {C} ^{N}} secondo la formula:

y k = 1 N n = 0 N 1 x n ω N k n , k = 0 , 1 , 2 , , N 1 , {\displaystyle y_{k}={\frac {1}{\sqrt {N}}}\sum _{n=0}^{N-1}x_{n}\omega _{N}^{-kn},\quad k=0,1,2,\ldots ,N-1,}

dove ω N = e 2 π i N {\displaystyle \omega _{N}=e^{\frac {2\pi i}{N}}} e ω N n {\displaystyle \omega _{N}^{n}} è la N {\displaystyle N} -esima radice dell'unità.

Similmente, la trasformata di Fourier quantistica agisce su uno stato quantistico | x = i = 0 N 1 x i | i {\displaystyle |x\rangle =\sum _{i=0}^{N-1}x_{i}|i\rangle } e lo mappa su uno stato quantistico i = 0 N 1 y i | i {\displaystyle \sum _{i=0}^{N-1}y_{i}|i\rangle } secondo la formula:

y k = 1 N n = 0 N 1 x n ω N n k , k = 0 , 1 , 2 , , N 1. {\displaystyle y_{k}={\frac {1}{\sqrt {N}}}\sum _{n=0}^{N-1}x_{n}\omega _{N}^{nk},\quad k=0,1,2,\ldots ,N-1.}

(Le convenzioni per il segno del fattore di fase all'esponente sono molteplici; qui si usa la convenzione secondo la quale la trasformata ha lo stesso effetto della trasformata inversa, e viceversa.)

Siccome ω N n {\displaystyle \omega _{N}^{n}} è una rotazione, la trasformata inversa agisce similmente ma con:

x n = 1 N k = 0 N 1 y k ω N n k , n = 0 , 1 , 2 , , N 1. {\displaystyle x_{n}={\frac {1}{\sqrt {N}}}\sum _{k=0}^{N-1}y_{k}\omega _{N}^{-nk},\quad n=0,1,2,\ldots ,N-1.}

Nel caso in cui | x {\displaystyle |x\rangle } sia uno stato di base, la trasformata di Fourier quantistica (QFT) può essere espressa come la mappa

QFT : | x 1 N k = 0 N 1 ω N x k | k . {\displaystyle {\text{QFT}}:|x\rangle \mapsto {\frac {1}{\sqrt {N}}}\sum _{k=0}^{N-1}\omega _{N}^{xk}|k\rangle .}

Equivalentemente, la trasformata può essere vista come una matrice unitaria F N {\displaystyle F_{N}} (o una porta quantistica, simile a una porta logica booleana per i computer classici), che agisce su vettori di stato quantico, data da

F N = 1 N [ 1 1 1 1 1 1 ω ω 2 ω 3 ω N 1 1 ω 2 ω 4 ω 6 ω 2 ( N 1 ) 1 ω 3 ω 6 ω 9 ω 3 ( N 1 ) 1 ω N 1 ω 2 ( N 1 ) ω 3 ( N 1 ) ω ( N 1 ) ( N 1 ) ] {\displaystyle 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}}}

dove ω = ω N {\displaystyle \omega =\omega _{N}} . Nel caso di N = 4 = 2 2 {\displaystyle N=4=2^{2}} e fase ω = i {\displaystyle \omega =i} la matrice di trasformazione diventa

F 4 = 1 2 [ 1 1 1 1 1 i 1 i 1 1 1 1 1 i 1 i ] {\displaystyle 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}}}

Proprietà

Unitarietà

La maggior parte delle proprietà della trasformata di Fourier quantistica segue dal fatto che è una trasformazione unitaria. Questo può essere controllato effettuando la moltiplicazione di matrici e assicurandosi che valga la relazione F F = F F = I {\displaystyle FF^{\dagger }=F^{\dagger }F=I} , dove F {\displaystyle F^{\dagger }} è l'aggiunto di F {\displaystyle F} . In alternativa, si può vedere che vettori ortogonali di norma 1 siano mappati a vettori ortogonali di norma 1.

Dalla unitarietà segue che la trasformata inversa sia l'aggiunta della matrice di Fourier, F 1 = F {\displaystyle F^{-1}=F^{\dagger }} . Siccome ci sono circuiti che implementano la trasformata, gli stessi circuiti possono essere attivati percorsi al contrario per effettuare la trasformata inversa. Quindi entrambe le trasformate possono essere effettuate in modo efficiente su un computer quantistico.

Implementazione in un circuito

Le porte quantistiche usate nel circuito sono la porta di Hadamard e la phase gate controllata R m {\displaystyle R_{m}} , definite come

H = 1 2 ( 1 1 1 1 ) e R m = ( 1 0 0 e 2 π i 2 m ) {\displaystyle H={\frac {1}{\sqrt {2}}}{\begin{pmatrix}1&1\\1&-1\end{pmatrix}}\qquad {\text{e}}\qquad R_{m}={\begin{pmatrix}1&0\\0&e^{\frac {2\pi i}{2^{m}}}\end{pmatrix}}}

dove e 2 π i 2 m = ω m = ω ( 2 m ) {\displaystyle e^{\frac {2\pi i}{2^{m}}}=\omega _{m}'=\omega _{\left(2^{m}\right)}} è la 2 m {\displaystyle 2^{m}} -esima radice dell'unità. Il circuito è quindi composto da porte H {\displaystyle H} e la versione controllata di R m {\displaystyle R_{m}}

Quantum circuit for Quantum-Fourier-Transform with n qubits (without rearranging the order of output states). It uses the binary fraction notation introduced below.

Note

  1. ^ D. Coppersmith, An approximate Fourier transform useful in quantum factoring., in Technical Report RC19642, IBM, 16 gennaio 2002 [1994].
  2. ^ Michael Nielsen and Isaac Chuang, Quantum Computation and Quantum Information, Cambridge, Cambridge University Press, 2000, ISBN 0-521-63503-9, OCLC 174527496.
  3. ^ L. Hales e S. Hallgren, An improved quantum Fourier transform algorithm and applications, in Proceedings 41st Annual Symposium on Foundations of Computer Science, November 12-14, 2000, pp. 515–525, DOI:10.1109/SFCS.2000.892139, ISBN 0-7695-0850-2.
  • K. R. Parthasarathy, Lectures on Quantum Computation and Quantum Error Correcting Codes (Indian Statistical Institute, Delhi Center, giugno 2001)
  • John Preskill, Lecture Notes for Physics 229: Quantum Information and Computation (CIT, settembre 1998)

Collegamenti esterni

  • Wolfram Demonstration Project: Quantum Circuit Implementing Grover's Search Algorithm
  • Wolfram Demonstration Project: Quantum Circuit Implementing Quantum Fourier Transform
  • Quirk online life quantum fourier transform
  Portale Informatica
  Portale Matematica
  Portale Quantistica