martes, 28 de marzo de 2017

Algoritmos

Algoritmos cuánticos

 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  puertas Hadamard y puertas de desplazamiento de fase controladas, donde  es el número de qubits.1 Esto puede ser comparado con la transformada de Fourier discreta, que utiliza  puertas (donde  es el número de bits), lo cual es exponencialmente mejor que . 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  puertas para alcanzar una aproximación eficiente.

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 , (x0,..., xN−1) y lo mapea al vector (y0,..., yN−1) de acuerdo con la fórmula:
Donde  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  y lo mapea a un estado cuántico  de acuerdo con la fórmula:
Esto puede ser expresado como la aplicación
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  está dada por

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 , donde  es la Hermitica adjunta de . 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í . 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

Quantum circuit representation of the quantum Fourier transform
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. Supongamos N = 2n. Tenemos la base ortogonal consistente en los vectores
La base de todos los posibles estados de los qubits es:
donde, con la notación producto tensorial  indica que el qubit  está en el estado , con  entre 0 y 1. Por convención, el índice de la base de estados  ordena los posibles estados de los qubits lexicográficamente, por ejemplo, por convención el paso de binario a decimal es de la forma.:
Esto también es útil para la notación binaria fraccionaria:
Por tanto,  and 
Con esta notación, la acción de la transformada de Fourier cuántica puede ser expresada por:
donde la salida del qubit 1 es una superposición del estado  y , y así en los otros qubits.
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  puertas, el cual es proporcional al número de qubits.

Ejemplo

Considerar la transformada cuántica de Fourier sobre 3 qubits. Es la siguiente transformación:
donde  satisface  (ya que ).
La matriz que representa esta transformación es
La transformada de Fourier cuántica de 3-qubit es las siguiente operación:
Este circuito cuántico implementa la transformada cuántica de Fourier sobre el estado cuántico .
Quantum Fourier transform on three qubits.svg
Las puertas cuánticas usadas en el circuito de arriba son la puerta Hadamard y la puerta controlada de desplazamiento de fase .
Como se calculó antes, el número de puertas usadas es  lo cual es igual a 6, para  n = 3.





La Transformada de Fourier Cuántica (QFT)

La transformada de Fourier cuántica toma un estado $ \vert\varphi\rangle$ y lo transforma en un estado $ \vert\phi\rangle$ tal que

$\displaystyle \vert\varphi\rangle =
\left(\begin{array}{c}
f_0  f_1  \vdots...
...eft(\begin{array}{c}
F_0  F_1  \vdots  F_{N-1}
\end{array}\right), \quad
$


$\displaystyle \vert\varphi\rangle \stackrel{\emph{QFT}}{\longrightarrow} \vert\phi\rangle
$

donde los $ F_k$ son los coeficientes de la transformada de Fourier de $ f_0, \ldots, f_{N-1}$. Como los estados cuánticos deben estar normalizados, la transformada de Fourier cuántica cumple con la siguiente ecuación

$\displaystyle F_k = \frac 1 {\sqrt{N}}\sum_{j=0}^{N-1}f_j\omega^{jk}
$

Si el estado cuántico además corresponde a una secuencia de qubits podemos decir que $ N = 2^n$ y la expresión se traduce a

$\displaystyle F_k = \frac 1 {\sqrt{2^n}}\sum_{j=0}^{2^n-1}f_j\omega^{jk}$(3.5)


También sabemos que el coeficiente $ F_k$ multiplica al ket base $ \vert k\rangle$ asi que

$\displaystyle \emph{QFT}\vert\varphi\rangle = \sum_{k=0}^{2^n-1}F_k\vert k\rangle =
$


$\displaystyle \sum_{k=0}^{2^n-1}\left(\frac 1 {\sqrt{2^n}}\sum_{j=0}^{2^n-1}f_j\omega^{jk}\right)\vert k\rangle =
$


$\displaystyle \frac 1 {\sqrt{2^n}}\sum_{j=0}^{2^n-1}f_j\sum_{k=0}^{2^n-1}\omega^{jk}\vert k\rangle$(3.6)


Y como $ f_j$ es el coeficiente del vector base $ \vert j\rangle$, entonces por linealidad la ecuación 3.5 es equivalente a decir que

$\displaystyle \emph{QFT}\vert j\rangle = \frac 1 {\sqrt{2^n}}\sum_{k=0}^{2^n-1}w^{jk}\vert k\rangle$(3.7)


ya que

$\displaystyle \emph{QFT}\vert\varphi\rangle = \emph{QFT}\sum_{j=0}^{2^n-1}f_j\vert j\rangle =
$


$\displaystyle \sum_{j=0}^{2^n-1}f_jQFT\vert j\rangle =
$


$\displaystyle \sum_{j=0}^{2^n-1}f_j \frac 1 {\sqrt{2^n}}\sum_{k=0}^{2^n-1}\omega^{jk}\vert k\rangle =
$


% latex2html id marker 7597
$\displaystyle \frac 1 {\sqrt{2^n}}\sum_{j=0}^{2^n-...
...m_{k=0}^{2^n-1}\omega^{jk}\vert k\rangle = \emph{ecuaci\'on}\;
\ref{eq-igual}
$

No hay comentarios:

Publicar un comentario