He estado tratando de entender el famoso (?) Papel Algoritmo cuántico para sistemas lineales de ecuaciones (Harrow, Hassidim y Lloyd, 2009) (más popularmente conocido como el papel del algoritmo HHL09 ) desde hace un tiempo.
En la primera página, dicen :
Esbozamos aquí la idea básica de nuestro algoritmo y luego lo discutimos con más detalle en la siguiente sección. Dada una hermitiana la matriz , y una unidad de vector , supongamos que gustaría encontrar que satisface . (Discutimos preguntas posteriores de eficiencia, así como también cómo se pueden relajar los supuestos que hemos hecho sobre y ). Primero, el algoritmo representa como un estado cuántico . A continuación, utilizamos técnicas de simulación hamiltoniana [3, 4] para aplicar aA → b → x A → x = → b A → b → b | b ⟩ = Σ N i = 1 b i | i ⟩ e i A t | b i ⟩para una superposición de diferentes tiempos . Esta capacidad de exponenciar traduce, a través de la conocida técnica de estimación de fase [5–7] en la capacidad de descomponer en la base propia de y encontrar los valores propios correspondientes Informalmente, el estado de el sistema después de esta etapa está cerca de , donde es la base del vector propio de y .AA λ j Σ j = N j = 1 β j | T j ⟩ | λ j ⟩ u j A | b ⟩ = Σ j = N j = 1 β j | u j ⟩
Hasta aquí todo bien. Como se describe en Nielsen & Chuang en el capítulo " La transformación cuántica de Fourier y sus aplicaciones ", el algoritmo de estimación de fase se usa para estimar en que es el valor propio correspondiente a un vector propio del operador unitario .e i 2 π φ | u ⟩ U
Aquí está la porción relevante de Nielsen y Chuang:
El algoritmo de estimación de fase utiliza dos registros. El primer registro contiene qubits inicialmente en el estado . La forma en que elegimos depende de dos cosas: el número de dígitos de precisión que deseamos tener en nuestra estimación para , y con qué probabilidad deseamos que el procedimiento de estimación de fase sea exitoso. La dependencia de de estas cantidades surge naturalmente del siguiente análisis.| 0 ⟩ t φ t
El segundo registro comienza en el estado y contiene tantos qubits como sea necesario para almacenar . La estimación de fase se realiza en dos etapas. Primero, aplicamos el circuito que se muestra en la Figura 5.2. El circuito comienza aplicando una transformación Hadamard al primer registro, seguido de la aplicación de operaciones controladas en en el segundo registro, con elevado a potencias sucesivas de dos. Se ve fácilmente que el estado final del primer registro es:| u ⟩ T U
La segunda etapa de la estimación de fase es aplicar la transformada cuántica inversa de Fourier en el primer registro. Esto se obtiene invirtiendo el circuito para la transformada cuántica de Fourier en la sección anterior (Ejercicio 5.5) y se puede hacer en los pasos . La tercera y última etapa de la estimación de fase es leer el estado del primer registro haciendo una medición en la base computacional. Mostraremos que esto proporciona una estimación bastante buena de . Un esquema general del algoritmo se muestra en la Figura 5.3.φ
Para agudizar nuestra intuición de por qué funciona la estimación de fase, supongamos que puede expresarse exactamente en bits int, como . Luego, el estado (5.20) resultante de la primera etapa de la estimación de fase puede reescribirseφ = 0. φ 1 . . . φ t
La segunda etapa de la estimación de fase es aplicar la transformada cuántica inversa de Fourier. Pero al comparar la ecuación anterior con la forma del producto para la transformada de Fourier, Ecuación (5.4), vemos que el estado de salida de la segunda etapa es el estado del producto . Una medida en la base computacional, por lo tanto, nos da exactamente!
Resumiendo, el algoritmo de estimación de fase permite estimar la fase de un valor propio de un operador unitario , dado el vector propio correspondiente . Una característica esencial en el corazón de este procedimiento es la capacidad de la transformación inversa de Fourier para realizar la transformación.
Procedamos desde aquí. Encontré un buen diagrama de circuito para el algoritmo HHL09 aquí [ ] :
Paso 1 (Estimación de fase):
En el primer paso del algoritmo HHL09 se utiliza el mismo concepto (del algoritmo estándar de Estimación de fase cuántica como se describe en Nielsen y Chuang). Sin embargo, debemos tener en cuenta que por sí solo no es un operador unitario. Sin embargo, si suponemos que es hermitiano, entonces la exponencial es unitaria (¡no se preocupe, existe una solución alternativa en caso de que no sea hermitiano!).
Aquí, podemos escribir . Hay otro punto sutil involucrado aquí. Nosotros no conocemos los vectores propios de de antemano (pero sí sabemos que para cualquier matriz unitaria de tamaño existen vectores propios ortonormales). Además, debemos recordarnos que si los valores propios de son entonces los valores propios de serán . Si comparamos esto con la forma de valores propios dados en Nielsen y Chuang para es decir, si , encontraríamos . En este caso, comenzamos en el estado (que puede escribirse como una superposición de los vectores propios de es decir, ) en lugar de cualquier vector propio particular de , en lo que respecta al segundo registro de qubits. Si hubiéramos comenzado en el estado habríamos terminado con es decir (considerando quees el valor propio asociado con el vector propio de ). Ahora, en cambio, si comenzamos en la superposición de vectores propios deberíamos terminar con .
Pregunta:
Parte 1 : en el documento HHL09 , escribieron sobre el estado del sistema después de este paso de Estimación de fase es . Sin embargo, por lo que escribí anteriormente, me parece que el estado del sistema debería ser .
¿Que me estoy perdiendo aqui? ¿Dónde desapareció el factor en su algoritmo?
Editar: se ha pedido aquí la Parte 2 para que las preguntas individuales estén más centradas.
También tengo varias confusiones sobre el Paso 2 y el Paso 3 del algoritmo HHL09 también, pero decidí publicarlos como hilos de preguntas separados, ya que este se está volviendo demasiado largo. Agregaré los enlaces a esos hilos de preguntas, en esta publicación, una vez que se hayan creado.
[ ]: Experimentos de cifrado homomórficos en la plataforma de computación cuántica en la nube de IBM Huang et al. (2016)