Algoritmo cuántico de estimación de fase

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

En computación cuántica, el algoritmo cuántico de estimación de fase es un algoritmo cuántico que encuentra muchas aplicaciones como subrutina en otros algoritmos. El algoritmo cuántico de estimación de fase permite estimar la fase de un autovector de una puerta unitaria U.

El problema

Sea U un operador unitario que actúa sobre t qubits. Entonces todos los autovalores de U tienen valor absoluto 1. Así el espectro de un operador unitario consiste en e2πiφ. Dado un autovector |ψ, tal que U|ψ=e2πiφ|ψ tal que 0<φ<1, el objetivo es estimar φ. El algoritmo de estimación de fase resuelve este problema. En este caso, se asumen cajas negras tanto para preparar el estado U2j como para preparar el autoestado |ψ[1][2]

Circuito cuántico que representa el algoritmo de estimación de fase.

El algoritmo

Supuesto que se desea calcular las fases con una precisión de t bits. Para ello se preparan t qubits en el estado |0 conformando el primer registro sobre el que se almacenará la fase. En el segundo registro se almacena el autovector con tantos qubits como precisión queramos introducirle.

Acto seguido, los qubits del primer registro pasan por puertas de Hadamard dando lugar a los estados |+. La función de onda global puede ser descrita por:

12nx|x|ψ

Acto seguido, se realizan t operaciones con puertas lógicas U2j sobre el segundo registro.

Se llega por tanto a que tras la aplicación del circuito la salida viene dada por

(|0+e2πi(0.φt)|1)(|0+e2πi(0.φt1φt)|1)...(|0+e2πi(0.φ1φ2...φt)|1)2t/2

Dicho resultado presenta la forma de una transformada cuántica de Fourier. Luego, si se aplica la transformada cuántica de Fourier inversa se llega al proyector |0.φ1φ2...φt y si se realiza una medida sobre los primeros t qubits se obtiene una estimación de la fase.

Si la fase es exactamente una raíz 2n de la unidad, la transformada cuántica de Fourier separa esa fase en expansión binaria. Si no, habrá una distribución agrupada probabilista en torno a la fase correcta.

Si |ψ es realmente una superposición de estados propios, hay una distribución de probabilidad ponderada sobre el autoestado individual, con la ponderación dada por la probabilidad de Born. Esto es así porque los autoestados correspondientes a diferentes autovalores son ortogonales.

Nótese que este algoritmo solo es eficiente si podemos computar U2j en un tiempo polinomial en j. Hay operadores unitarios para cuando es el caso, y los hay para cuando no lo es. Si solo tenemos acceso a U como un oráculo, necesitaremos exponencialmente muchas llamadas a U para computar U2j.[1][3]

Realización y probabilidades

Se supone que φ puede ser descrito por t bits. En caso de no ser así, este método es una buena aproximación a φ con alta probabilidad. Sea b un número entero descrito por t bits tal que b/2t=0.b1b2..bt en su expresión binaria. Dicho número será la mejor aproximación a φ con t qubits. Se define la diferencia como:

δ=φb/2t

tal que cumple

0<δ<2t

. Esto supone que ambos se diferencian en el qubit t. Conocido que el estado final es una transformada de Fourier puede ser descrito por la siguiente expresión:

12t/2k=02t1e2πiφk|k

Conocido también que la transformada cuántica inversa de Fourier viene dada por

|k12tl=02t1e2πilk/2t|l

Si se le aplica al estado resultante del circuito se obtiene

12t/212t/2l=02t1k=02t1e2πilk/2te2πiφk|l

Si se define αl como la amplitud asociada al vector de la base |l+b obtenemos

12tk=02t1e2πi(l+b)k/2te2πiφk|l+b luego αl=12tk=02t1(e2πi(l+b)/2te2πiφ)k

Si se aplica la fórmula de la suma de la serie geométrica se obtiene

αl=2t(1e2πi{φ(l+b)/2t}2t1e2πi{φ(l+b)/2t}) y recordando la definición de δ=φb/2t

αl=2t(1e2πi(δl/2t)2t1e2πi(δl/2t))

Conocido que θ se cumple 1exp(iθ)2 se puede acotar el numerador por

αl12t(21e2πi(δl/2t))

Conocido que se puede demostrar también que 1exp(iθ)2θπ para πθπ se puede acotar el denominador por

αl12t+1(1δl/2t)

Al medir obtenemos un resultado m cuya probabilidad de que se aleje una distancia e de b viene dada por

P(|mb|>e)=2t1<l<e+1|αl|2+e+1<l<2t1|αl|2

Sustituimos la acotación anterior y se llega a

P(|mb|>e)2t1+1<l<(e+1)14|1l2tδ|2+e+1<l<2t114|1l2tδ|2

Recordando que 02tδ1 se puede llegar a

P(|mb|>e)2t1+1<l<(e+1)14|1l1|2+e+1<l<2t114|1l1|2

Dado que el índice de la primera sumatoria es negativo se puede acotar por

P(|mb|>e)2t1+1<l<(e+1)14|1l|2+e+1<l<2t114|1l1|2 Si sobre la segunda sumatoria se define l=(l1)

P(|mb|>e)2t1+1<l<(e+1)14|1l|2+e<l<2t114|1l|2

Si ahora sobre la primera sumatoria defino l=l

P(|mb|>e)(e+1)<l<2t1+114|1l|2+e<l<2t114|1l|2(e+1)<l<2t1+114|1l|2+(e+1)<l<2t1+114|1l|2

Dado que se tiene la misma sumatoria se puede llegar a

P(|mb|>e)12e<l<2t11|1l|2 Dicha sumatoria se puede aproximar a integral como

P(|mb|>e)12e12t11(1l)2dl=12(e1) donde se ha asumido que t es muy grande

La probabilidad de que m y b disten menos que e vendrá dada por

P(|mb|<e)=112(e1)

Si tomo e=2tn1 definiendo p=tn y sustituyendo la probabilidad de acierto será

P(|mb|<e)=112(2p1) si se pretende que esta probabilidad sea prácticamente 1

P(|mb|<e)=112(2p1)=1ϵ Entonces

p=log(2+22ϵ) Luego, t=n+log(2+22ϵ)

Luego, el número de qubits t debe repartirse entre p que está relacionado con la probabilidad de error y n que está relacionado con el número de qubits de precisión en φ[1]

Véase también

Referencias

Plantilla:Listaref

Plantilla:Control de autoridades