Saltearse al contenido

Transformada de Fourier cuántica

La transformada de Fourier cuántica (QFT) es una solución cuántica similar a su variante clásica (transformada de Fourier discreta o DFT), que es utilizada en distintos algoritmos cuánticos.

Por ejemplo, el algoritmo de Shor y la estimación de fases utilizan esta primitiva.

La primitiva QFT permite obtener información acerca de las frecuencias de repetición de las fases relativas en un estado cuántico. También existe su operación inversa, que permite convertir una frecuencia en diferencias de fases relativas de un estado cuántico.

Ciertas bibliografías expresan este objetivo en transformar la base computacional a base de Fourier:

  • La base computacional es la base Z.
  • La base de Fourier es otra forma de expresar números pero mediante el comportamiento del eje ZZ en un estado cuántico (fase relativa).

La transformación de QFT es expresada en la literatura en forma de matriz de la siguiente manera (es igual a DFT pero con el ángulo opuesto):

FN=1N[111111ωNωN2ωN3ωNN11ωN2ωN4ωN6ωN2(N1)1ωN3ωN6ωN9ωN3(N1)1ωNN1ωN2(N1)ωN2(N1)ωN(N1)(N1)]F_N=\frac{1}{\sqrt{N}} \begin{bmatrix} 1&1&1&1&\ldots&1\\ 1&\omega_N&\omega_N^2&\omega_N^3&\ldots&\omega_N^{N-1}\\ 1&\omega_N^2&\omega_N^4&\omega_N^6&\ldots&\omega_N^{2(N-1)}\\ 1&\omega_N^3&\omega_N^6&\omega_N^9&\ldots&\omega_N^{3(N-1)}\\ \vdots&\vdots&\vdots&\vdots&\ddots&\vdots\\ 1&\omega_N^{N-1}&\omega_N^{2(N-1)}&\omega_N^{2(N-1)}&\ldots&\omega_N^{(N-1)(N-1)}\\ \end{bmatrix}

Donde ωN=e2πiN\omega_N=e^{\frac{2\pi i}{N}}

Es posible definir un circuito de QFT utilizando puertas Hadamard, puertas de fase controladas RrR_r, y puertas Swap.

La puerta RrR_r es una abreviación de RotZ y se define de la siguiente manera:

Rr=RotZ(e2πi/2r)=[100e2πi/2r]=[100ω2r]R_r=RotZ(e^{2\pi i/2^r})=\begin{bmatrix} 1&0\\ 0&e^{2\pi i/2^r}\\ \end{bmatrix}= \begin{bmatrix} 1&0\\ 0&\omega_{2^r}\\ \end{bmatrix}

Con esto en consideración, el algoritmo QFTnQFT_n sigue una estructura fácilmente generalizable, donde nn es la cantidad de cubits presentes.

Estructura de la primitiva QFT de forma general (Wong)

Figura (1): Estructura de la primitiva QFT de forma general (Wong).

En este caso se utiliza jn1,jn2,,j0j_{n-1}, j_{n-2}, \ldots, j_0 para representar los cubits de entrada que conforman el estado cuántico jj:

j=jn1jn2j0j=j_{n-1}j_{n-2}\ldots j_0

Por otra parte, se utiliza 0.jmjm1jl0.j_mj_{m-1}\ldots j_l para denotar fracciones usando binarios, cuyo valor en decimal es el siguiente:

0.jmjm1jl=jm/2+jm1/4++jl/2ml+10.j_mj_{m-1}\ldots j_{l}=j_m/2+j_{m-1}/4+\ldots+j_l/2^{m-l+1}

Finalmente definimos QFT en notación bra-ket como:

QFTj=12n/2k=02n1e2πijk/2nk=12n/2(0+e2πi0.j01)(0+e2πi0.j1j01)(0+e2πi0.jn1jn2j01)\begin{align} QFT\ket{j}=&\frac{1}{2^{n/2}}\sum_{k=0}^{2^n-1}e^{2\pi i j k /2^n}\ket{k}\\ =&\frac{1}{2^{n/2}}(\ket{0}+e^{2\pi i 0.j_0}\ket{1})(\ket{0}+e^{2\pi i 0.j_1j_0}\ket{1})\\ &\ldots(\ket{0}+e^{2\pi i 0.j_{n-1}j_{n-2}\ldots j_0}\ket{1})\notag \end{align}

Se encuentran nn puertas Hadamard y (n)(n+1)/2(n)(n+1)/2 puertas de rotación, por lo que el orden del algoritmo es O(n2)=O((log2N)2)O(n^2)=O((log_2 N)^2), ya que N=2nN=2^n.

Por otra parte, como el algoritmo de QFT es conformado por puertas unitarias. Para implementar la inversa de QFT (invQFT) basta con aplicar las operaciones conjugadas transpuestas en el orden inverso.

Es recomendable observar este ejemplo en el propio simulador de Quirk por su tamaño.

Observando el circuito uno puede detectar que tanto QFT como su inversa son similares. Como curiosidad, se puede probar que aplicar tres veces QFT es equivalente a utilizar su inversa:

FNFNk=k=NkFNFNFNFNk=kFN=FNFNFNFNFNFNFNk=kFN=FNFNFN\begin{gather} F_N F_N\ket{k} =\ket{-k}=\ket{N-k}\\ F_N F_N F_N F_N \ket{k} =\ket{k} \rightarrow F_N^\dag = F_N F_N F_N \\ F_N^\dag F_N^\dag F_N^\dag F_N^\dag \ket{k} =\ket{k} \rightarrow F_N = F_N^\dag F_N^\dag F_N^\dag \end{gather}

En esta sección se elaboran distintos ejemplos que permitan demostrar el funcionamiento de QFT para casos específicos.

Se presentan tres ejemplos. En estos ejemplos se obtiene la frecuencia del patrón de fases a partir de un estado cuántico dado.

En el primer ejemplo el patrón se repite 8 veces, en el segundo 4 veces y en el tercero se repite 2 veces, pero en formato de señales cuadradas.

Estado inicial del algoritmo, se repite ocho veces el patrón de fases.

$$\ket{0000}$$
$$\ket{0001}$$
$$\ket{0010}$$
$$\ket{0011}$$
$$\ket{0100}$$
$$\ket{0101}$$
$$\ket{0110}$$
$$\ket{0111}$$
$$\ket{1000}$$
$$\ket{1001}$$
$$\ket{1010}$$
$$\ket{1011}$$
$$\ket{1100}$$
$$\ket{1101}$$
$$\ket{1110}$$
$$\ket{1111}$$
QFT

Luego de aplicar QFT se revela que la frecuencia del estado cuántico es 8.

$$\ket{0000}$$
$$\ket{0001}$$
$$\ket{0010}$$
$$\ket{0011}$$
$$\ket{0100}$$
$$\ket{0101}$$
$$\ket{0110}$$
$$\ket{0111}$$
$$\ket{1000}$$
$$\ket{1001}$$
$$\ket{1010}$$
$$\ket{1011}$$
$$\ket{1100}$$
$$\ket{1101}$$
$$\ket{1110}$$
$$\ket{1111}$$

En el formato contrario a la sección anterior, se presentarán ejemplos de frecuencias y se convertirán a patrónes de fases relativas utilizando invQFT.

En el primer ejemplo se obtendrá la señal con frecuencia 2, y en el segundo ejemplo la señal con frecuencia 1.

Estado inicial del algoritmo, se marca como frecuencia el número “2”.

$$\ket{0000}$$
$$\ket{0001}$$
$$\ket{0010}$$
$$\ket{0011}$$
$$\ket{0100}$$
$$\ket{0101}$$
$$\ket{0110}$$
$$\ket{0111}$$
$$\ket{1000}$$
$$\ket{1001}$$
$$\ket{1010}$$
$$\ket{1011}$$
$$\ket{1100}$$
$$\ket{1101}$$
$$\ket{1110}$$
$$\ket{1111}$$
invQFT

Luego de aplicar la inversa de QFT, se genera la señal con frecuencia 2.

$$\ket{0000}$$
$$\ket{0001}$$
$$\ket{0010}$$
$$\ket{0011}$$
$$\ket{0100}$$
$$\ket{0101}$$
$$\ket{0110}$$
$$\ket{0111}$$
$$\ket{1000}$$
$$\ket{1001}$$
$$\ket{1010}$$
$$\ket{1011}$$
$$\ket{1100}$$
$$\ket{1101}$$
$$\ket{1110}$$
$$\ket{1111}$$

La implementación de QFT varía según la bibliografía. Puede presentarse con diferentes puertas, o en diferente orden, o con/sin puertas de intercambio.

A su vez, existen casos donde se interpreta QFT con la misma definición que DFT y en otros casos como su inversa (ángulos opuestos).

Bibliografía:
Recomendada
Alternativa
Opcional