Transformada cuántica de Fourier

De testwiki
Ir a la navegación Ir a la búsqueda

En computación cuántica, la transformada cuántica de Fourier es una transformación sobre bits cuánticos, y es la analogía cuántica de la transformada de Fourier discreta. La transformada de Fourier es una parte de muchos algoritmos cuánticos, el algoritmo de factorización de Shor y el cálculo del logaritmo discreto, el algoritmo de estimación de fase para estimar los eigenvalores de un operador unitario, y logaritmos para HSP (hidden subgroup problem).

La transformada de Fourier puede ser realizada eficientemente en un ordenador cuántico, con una particular descomposición en un producto de matrices unitarias simples. Usando una descomposición simple, la trasformación discreta de Fourier puede ser implementada como un circuito cuántico que tiene solo

O(n2)

puertas Hadamard y puertas de desplazamiento de fase controladas, donde

n

es el número de qubits.[1] Esto puede ser comparado con la transformada de Fourier discreta, que utiliza

O(n2n)

puertas (donde

n

es el número de bits), lo cual es exponencialmente mayor que

O(n2)

. Sin embargo, la transformada cuántica de Fourier actúa sobre un estado cuántico, mientras que la trasformada de Fourier clásica actúa sobre un vector, así que no todas las tareas que usan la transformada de Fourier clásica pueden utilizar la ventaja de esta aceleración exponencial.

Los mejores algoritmos cuánticos de transformada de Fourier conocidos actualmente requieren solo O(nlogn) puertas para alcanzar una aproximación eficiente.[2]

Definición

La transformada de Fourier cuántica es la transformada de Fourier discreta clásica aplicada al vector de amplitudes de un estado cuántico. La transformada de Fourier clásica (unitaria) actúa sobre un vector en

N

, (x0,..., xN−1) y lo mapea al vector (y0,..., yN−1) de acuerdo con la fórmula:

yk=1Nj=0N1xjωjk

Donde

ω=e2πiN

es una raíz de la unidad Nth primitiva.

De forma similar, la transformada cuántica de Fourier actúa sobre un estado cuántico i=0N1xi|i y lo mapea a un estado cuántico i=0N1yi|i de acuerdo con la fórmula:

yk=1Nj=0N1xjωjk.

Esto puede ser expresado como la aplicación

|j1Nk=0N1ωjk|k.

De forma equivalente, la transformada de Fourier cuántica puede ser vista como una matriz unitaria actuando sobre vectores estado cuántico, donde la matriz unitaria FN está dada por

FN=1N[111111ωω2ω3ωN11ω2ω4ω6ω2(N1)1ω3ω6ω9ω3(N1)1ωN1ω2(N1)ω3(N1)ω(N1)(N1)].

Propiedades

Unitaria

Muchas de las propiedades de la transformada de Fourier surgen del hecho de que es una transformación unitaria. Esto puede ser comprobado realizando la multiplicación de matrices y verificando la relación FF=FF=I, donde F es la Hermitica adjunta de F. Alternativamente, podemos comprobar que los vectores de norma 1 son transformados a su vez en vectores de norma 1.

De las propiedades unitarias surge que la inversa de la transformada cuántica de Fourier es la hermítica adjunta de la matriz de Fourier, así F1=F. Existe un circuito cuántico eficiente que implementa la transformada inversa cuántica de Fourier. Así que ambas transformaciones pueden ser realizadas en un ordenador cuántico.

Implementación del Circuito

La transformada de Fourier puede ser implementada aproximadamente para cualquier N, sin embargo, la implementación para el caso en el que N es una potencia de 2 es mucho más simple.

Transformada cuántica de Fourier implementada en circuito cuántico

Cambio de notación.

Sea el número 123456. Dicho número realmente puede ser descrito por

123456=1106+2105+3104..+6100=i=0nji10ni

donde n es el número de término que describe dicho número. Cabe destacar que ji puede tomar valores entre 0 y 9 ya que se están haciendo operaciones módulo 10.

Se puede definir también para fracciones. Por ejemplo, el número

0.2345678

puede ser visto como

0.2345678=2101+3102+4103+5104+6105...=i=0nji10i

Es posible definir el mismo tipo de notación en binario. Este tipo de notación es conocida como notación binaria o representación binaria

Supongamos N = 2n. Tenemos la base ortogonal consistente en los vectores

|0,,|2n1.

La base de todos los posibles estados de los qubits es:

|x=|x1x2xn=|x1|x2|xn

donde, con la notación producto tensorial , |xj indica que el qubit j está en el estado xj, con xj entre 0 y 1 ya que estamos haciendo módulo 2. Por convención, el índice de la base de estados x ordena los posibles estados de los qubits lexicográficamente, por ejemplo, por convención el paso de binario a decimal es de la forma.:

x=x12n1+x22n2++xn20.

La acción de la puerta de Hadamard es H|xj=(12)(|0+e2πixj21|1), donde el signo depende de xi.

La transformada cuántica de Fourier se puede escribir como el producto tensorial de una serie de términos, conocido como tensotorio:

QFT(|x)=1Nj=1n(|0+ωNx2nj|1).

Esto también es útil para la notación binaria fraccionaria:

[0.x1xm]=k=1mxk2k.

Por tanto, [0.x1]=x12 and [0.x1x2]=x12+x222.

Con esta notación, la acción de la transformada de Fourier cuántica puede ser expresada por:

|x1x2xn1N (|0+e2πi[0.xn]|1)(|0+e2πi[0.xn1xn]|1)(|0+e2πi[0.x1x2xn]|1),

donde la salida del qubit 1 es una superposición del estado |0 y e2πi[0.xn]|1, y así en los otros qubits.

Demostración

Se parte de la demostración de transformada discreta de Fourier cuántica dada por

|x1Nk=0N1ei2πxk/N|k

Ahora se especifica la dimensión de nuestro espacio dada por N=2nllegando a

|x12nk=02n1ei2πxk/2n|k.

Aplicando notación binaria sobre k de tal forma que k2n=0.k1k2..kn=l=0nkl2l . Luego separando, la sumatoria en k en n sumatorias sobre los distintos valores kl.

|x12n/2k1=01..kn=01ei2πxl=0n2lkl|k1..kn

Utilizando propiedades de la exponencial puedo llegar a

|x12n/2k1=01..kn=01l=1nei2πxkl2l|kl

Cambiando el productorio por el sumatorio puedo llegar a

|x12n/2l=1nkl=01ei2πxkl2l|kl

Aplicando la sumatoria:

|x12n/2l=1n[|0+ei2πx2l|1]

La cuestión ahora es poner x en notación binaria como x=x1x2...xn. Realizando un par de términos. Por ejemplo, para l=1:

x/2=x1x2...xn1.xn.

Ahora bien,

e2πix1x2...xn1.xn=e2πix1x2...xn1×e2πi0.xn=e2πi0.xn

donde se ha utilizado que x1x2...xn1 es un número entero ya que es i=0nxi2ni con xi{0,1}.

Aplicando el mismo razonamiento para l=2:

Se tiene:

x22=x1x2...xn2.xn1xn

y se llega a que

e2πix1x2....xn2.xn1xn=e2πix1x2...xn2×e2πi0.xn1xn=e2πi0.xn1xn

Si se aplica en general se puede llegar al resultado donde falta por introducir puertas lógicas swap que cambien el qubit 1 con el n, el 2 con el n1 y así llegando a:

|x(|0+e2πi0.xn|1)(|0+e2πi0.xn1xn|1)..(|0+e2πi0.x1x2..xn|1)2n/2

En otras palabras, la operación de la transformada de Fourier discreta sobre n-qubits, puede ser factorizada dentro del producto tensor de n qubits-únicos, sugiriendo que es fácil de representar en un circuito cuántico. De hecho, cada una de las operaciones de los qubits-únicos puede ser implementada eficientemente usando una puerta Hadamard y puertas controladas de desplazamiento de fase. El primer término requiere una puerta Hadamard, el siguiente requiere una puerta Hadamard y una puerta controlada de desplazamiento de fase y cada siguiente término requiere una puerta adicional de desplazamiento de fase. Sumando el número de puertas da 1+2++n=n(n+1)/2=O(n2) puertas, el cual es proporcional al número de qubits.[1][3][4]

Ejemplo

Considerar la transformada cuántica de Fourier sobre 3 qubits. Es la siguiente transformación:

|j123k=0231ωjk|k,

donde ω satisface ω8=(e2πi8)8=1 (ya que N=23=8).

La matriz que representa esta transformación es

F23=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω6ω8ω10ω12ω141ω3ω6ω9ω12ω15ω18ω211ω4ω8ω12ω16ω20ω24ω281ω5ω10ω15ω20ω25ω30ω351ω6ω12ω18ω24ω30ω36ω421ω7ω14ω21ω28ω35ω42ω49]=123[111111111ωω2ω3ω4ω5ω6ω71ω2ω4ω61ω2ω4ω61ω3ω6ωω4ω7ω2ω51ω41ω41ω41ω41ω5ω2ω7ω4ωω6ω31ω6ω4ω21ω6ω4ω21ω7ω6ω5ω4ω3ω2ω].

La transformada de Fourier cuántica de 3-qubit es las siguiente operación:

|x1,x2,x3123 (|0+e2πi[0.x3]|1)(|0+e2πi[0.x2x3]|1)(|0+e2πi[0.x1x2x3]|1).

Este circuito cuántico implementa la transformada cuántica de Fourier sobre el estado cuántico |x1,x2,x3.

Las puertas cuánticas usadas en el circuito de arriba son la puerta Hadamard y la puerta controlada de desplazamiento de fase Rθ.

Como se calculó antes, el número de puertas usadas es n(n+1)/2 lo cual es igual a 6, para  n = 3.[1][2]

Referencias

  1. 1,0 1,1 1,2 Plantilla:Cita libro
  2. 2,0 2,1 L. Hales, S. Hallgren, An improved quantum Fourier transform algorithm and applications, Proceedings of the 41st Annual Symposium on Foundations of Computer Science, p. 515, November 12–14, 2000
  3. Plantilla:Cita publicación
  4. Plantilla:Cita libro

Plantilla:Control de autoridades