1. Bit
  2. Qubit
  3. Superposición
  4. Medida
  5. Entrelazamiento
  6. Circuitos
  7. Fourier
  8. Shor
  9. Grover
  10. Corrección

Capítulo 06 · Transformada cuántica de Fourier

Encontrar periodos ocultos

Fourier nos enseñó a descomponer cualquier señal en frecuencias. Su versión cuántica actúa sobre 2n amplitudes con solo unas n2 puertas, exponencialmente menos que el algoritmo clásico rápido. Junto con la interferencia, convierte la periodicidad oculta en picos que se pueden medir.

En 1807 Joseph Fourier afirmó, estudiando la propagación del calor, que cualquier función se puede escribir como una suma de senos y cosenos. Dos siglos después la versión discreta de su idea está en todas partes: comprimir imágenes, filtrar audio, multiplicar números grandes. En 1965 James Cooley y John Tukey redescubrieron la transformada rápida de Fourier (FFT), que calcula la transformada de N números en O(Nlog⁡N) operaciones. La versión cuántica es todavía exponencialmente más rápida, con una pega que tendremos que aprender a sortear.

La transformada discreta y la cuántica

Sean N=2n y ω=e2πi/N, una raíz N-ésima primitiva de la unidad. La transformada cuántica de Fourier es la aplicación lineal definida sobre la base computacional por

QFT|j⟩=1N∑k=0N−1ωjk|k⟩,j=0,…,N−1.

Aplicada a un estado ∑jxj|j⟩, produce la transformada discreta de Fourier de las amplitudes, ∑kyk|k⟩ con yk=1N∑jωjkxj.

Proposición (la QFT es unitaria)

Las columnas de la matriz de la QFT son ortonormales, así que es una puerta cuántica válida.

Demostración

El producto interior de las columnas j y j′ es 1N∑k=0N−1ω(j′−j)k. Si j=j′ vale 1. Si no, q=ωj′−j≠1 es una raíz N-ésima de la unidad y la suma geométrica ∑kqk=qN−1q−1=0.

Para N=2, la QFT es exactamente la puerta de Hadamard. Y aplicar H a cada uno de n qubits es la transformada de Fourier sobre el grupo (ℤ2)n: el algoritmo de Deutsch-Jozsa ya era una transformada de Fourier disfrazada.

Un circuito exponencialmente pequeño

La clave de su eficiencia es que la QFT de un estado de la base no crea entrelazamiento: se factoriza en n qubits separados. Escribamos j en binario como j=j1j2…jn, y 0.jljl+1…jn para la fracción binaria ∑m≥ljm2l−m−1.

Teorema (representación como producto)
QFT|j1…jn⟩=(|0⟩+e2πi0.jn|1⟩)⊗(|0⟩+e2πi0.jn−1jn|1⟩)⊗⋯⊗(|0⟩+e2πi0.j1j2…jn|1⟩)2n/2.
Esbozo de la demostración

Escribamos k=∑l=1nkl2n−l. Entonces ωjk=∏le2πijkl/2l, y la suma sobre k se factoriza en un producto de sumas sobre cada bit kl∈{0,1}. En e2πij/2l solo importan los últimos l bits de j, porque los demás aportan múltiplos enteros de 2πi.

Cada factor se prepara con una puerta de Hadamard y unas cuantas rotaciones de fase controladas, Rk=diag(1,e2πi/2k). En total n(n+1)/2 puertas, más una inversión del orden de los qubits: O(n2) operaciones para transformar 2n amplitudes, frente a las O(n2n) de la FFT. Coppersmith (1994) mostró además que las rotaciones más pequeñas se pueden omitir sin pérdida apreciable, lo que deja O(nlog⁡n) puertas.

La periodicidad se convierte en picos

Eso es exactamente lo que ocurre con los estados periódicos, la situación que importa para el algoritmo de Shor.

Teorema (transformada de un estado periódico)

Sea r un divisor de N y m=N/r. El estado uniforme sobre una progresión aritmética de paso r,

|ψ⟩=1m∑s=0m−1|x0+sr⟩,

se transforma en una superposición uniforme sobre los múltiplos de m: al medir tras la QFT se obtiene k=ℓN/r con ℓ uniforme en {0,…,r−1}, sea cual sea el desplazamiento x0.

Demostración

La amplitud de |k⟩ es 1Nmωx0k∑s=0m−1(ωrk)s. Ahora ωrk=e2πik/m es una raíz m-ésima de la unidad. Si m divide a k vale 1 y la suma vale m, lo que da probabilidad m2Nm=1r. Si no, la suma geométrica vale 0. El desplazamiento solo aporta la fase ωx0k, que no cambia las probabilidades.

Un estado de 6 qubits (N=64) uniforme sobre una progresión de periodo r (arriba) y su transformada cuántica de Fourier (abajo, colores = fase). Cuando r divide a 64 la salida es un peine perfecto de r picos separados por 64/r. Cuando no lo divide, los picos se difuminan un poco pero siguen cerca de los múltiplos de 64/r, lo suficiente para recuperar r, como hará el algoritmo de Shor. Mover el desplazamiento solo cambia las fases.

Estructura oculta en una sola consulta

La misma idea dio las primeras separaciones entre la computación cuántica y la clásica, en el modelo en que una función f solo se puede consultar como una caja negra.

Bernstein-Vazirani (1993). Sea f(x)=s⋅xmod2 para una cadena secreta s∈{0,1}n. Clásicamente, cada consulta revela como mucho un bit de información sobre s, así que hacen falta n consultas. Cuánticamente basta una: se prepara H⊗n|0⟩, se aplica el oráculo como una fase (−1)s⋅x y se vuelve a aplicar H⊗n. Como H⊗n∑x(−1)s⋅x|x⟩=2n/2|s⟩, al medir se obtiene s con certeza.

El problema de Bernstein-Vazirani. Elige una cadena secreta. La estrategia clásica consulta f en e1,e2,…, un bit por consulta; el circuito cuántico pregunta una vez, con todas las entradas en superposición, y la interferencia de las fases (−1)s⋅x deja exactamente |s⟩.

Simon (1994). Si f(x)=f(y) exactamente cuando y=x o y=x⊕s, encontrar s requiere Ω(2n/2) consultas para cualquier algoritmo clásico, incluso aleatorio, y O(n) para uno cuántico: la primera separación exponencial frente a algoritmos aleatorios. El artículo de Daniel Simon fue el que inspiró a Peter Shor.

Estimación de fase

Alexei Kitaev (1995) reformuló estas ideas en una herramienta general. Supongamos un unitario U y uno de sus vectores propios |u⟩ con U|u⟩=e2πiφ|u⟩. Con t qubits auxiliares, las puertas U2j controladas escriben la fase φ en las amplitudes como 12t/2∑ye2πiφy|y⟩, y una QFT inversa la convierte en un número binario.

Teorema (estimación de fase)

Con t qubits, la medida devuelve la mejor aproximación de φ con t bits con probabilidad al menos 4/π2≈0,405; con t+O(log⁡(1/ε)) qubits, una aproximación con t bits con probabilidad al menos 1−ε. Si φ tiene un desarrollo exacto con t bits, el resultado es seguro.

La estimación de fase está en el corazón del algoritmo de Shor, de la química cuántica (estimar energías, los valores propios de un hamiltoniano) y de los algoritmos para sistemas lineales. El siguiente capítulo la pone a trabajar en el problema que hizo famosa a la computación cuántica.

Referencias

  1. J. W. Cooley y J. W. Tukey (1965). «An Algorithm for the Machine Calculation of Complex Fourier Series». Mathematics of Computation, 19(90).
  2. E. Bernstein y U. Vazirani (1993). «Quantum complexity theory». STOC.
  3. D. R. Simon (1994). «On the power of quantum computation». FOCS (versión de revista: SIAM J. Computing, 1997).
  4. D. Coppersmith (1994). «An approximate Fourier transform useful in quantum factoring». IBM Research Report RC19642.
  5. A. Y. Kitaev (1995). «Quantum measurements and the Abelian Stabilizer Problem». arXiv:quant-ph/9511026.
  6. R. Cleve, A. Ekert, C. Macchiavello y M. Mosca (1998). «Quantum algorithms revisited». Proceedings of the Royal Society A, 454.