¿Cómo representar de forma compacta múltiples estados qubit?

15

Dado que el acceso a dispositivos cuánticos capaces de computación cuántica es todavía extremadamente limitado, es interesante simular cálculos cuánticos en una computadora clásica . Representar el estado de n qubits como un vector requiere 2n elementos, lo que restringe en gran medida el número de qubits que uno puede considerar en tales simulaciones.

¿Se puede usar una representación 1 que sea más compacta, en el sentido de que usa menos memoria y / o potencia computacional que la representación vectorial simple? ¿Como funciona?

Si bien es fácil de implementar, está claro que la representación vectorial es un desperdicio para los estados que exhiben escasez y / o redundancia en su representación vectorial. Para un ejemplo concreto, considere el estado de 3 qubits (1/3,1/3,0,0,0,1/3,0,0)T. Tiene23elementos pero solo asumen3valores posibles, siendo la mayoría de los elementos0. Por supuesto, para ser útiles en la simulación de un cálculo cuántico, también deberíamos considerar cómo representar las compuertas y la acción de las compuertas en los qubits, e incluir algo sobre estos sería bienvenido, pero me alegraría saber también sobre qubits.

1. Tenga en cuenta que estoy preguntando sobre las representaciones, no sobre el software, las bibliotecas o los artículos que podrían utilizar / presentar tales representaciones. Sin embargo, si presenta y explica una representación, puede mencionar dónde ya se utiliza.

Kiro
fuente

Respuestas:

8

Hay muchas formas posibles de representar de forma compacta un estado, cuya utilidad depende en gran medida del contexto.

En primer lugar, es importante tener en cuenta que no es posible tener un procedimiento que pueda mapear cualquier estado en una representación más eficiente del mismo estado (por la misma razón por la que obviamente no es posible comprimir fielmente cualquier bit de 2 bits cadena como una cadena de 1 bit, con una asignación que no depende de la cadena).

Sin embargo, tan pronto como comience a hacer algunas suposiciones, puede encontrar formas más eficientes de representar un estado en un contexto dado. Hay una multitud de formas posibles de hacer esto, así que solo mencionaré algunas que me vienen a la mente:

  1. Ya la representación vectorial estándar de un estado ket puede considerarse como una "representación comprimida", que funciona bajo el supuesto de que el estado es puro . De hecho, necesita grados reales de libertad para representar un estado arbitrario (generalmente mixto) de n- bits, pero solo 2 n + 1 - 2 para representar uno puro.4n1n2n+12

  2. Si asume que un estado es casi puro, es decir, que ρ es escaso en alguna representación (equivalentemente, ρ es de rango bajo), entonces nuevamente el estado puede caracterizarse eficientemente. Para un sistema d -dimensional (por lo tanto, d = 2 n para un sistema de n- bits), en lugar de usar ~ d 2 parámetros, puede tener una representación fiel usando solo O ( r d log 2 d ) , donde r es la dispersión del estado (ver 0909.3304ρρρred=2nortenorted2O(rreIniciar sesión2re)r y las obras que vinieron después de eso).

  3. Si solo le interesa un número limitado de valores esperados, puede encontrar una representación comprimida de un estado de n- bits de tamaño O ( n log ( n ) log ( | S | ) ) . Tenga en cuenta que esto equivale a una reducción exponencial . Esto se mostró (creo) en quant-ph / 0402095 , pero la introducción dada en 1801.05721El |SEl |norteO(norteIniciar sesión(norte)Iniciar sesión(El |SEl |)) puede ser más accesible para un físico (además de presentar mejoras en el método de optimización). Consulte las referencias en este último documento para obtener una serie de resultados similares.

  4. Si sabe que el enredo del estado es limitado (en un sentido que se puede definir con precisión), entonces se pueden encontrar nuevamente representaciones eficientes, en términos de redes tensoras (se encuentra una introducción, por ejemplo, en 1708.00006 ). Más recientemente, también se demostró que los estados fundamentales de algunos hamiltonianos notables se pueden representar usando ansatze inspirado en el aprendizaje automático (( 1606.02318 y muchos trabajos siguientes). Sin embargo, esto también se demostró / afirmó recientemente que es equivalente a una representación específica de Tensor Network. ( 1710.04045 ), así que no estoy seguro de si debería ir a una categoría propia.

Tenga en cuenta que en todo lo anterior puede representar de manera más eficiente un estado dado, pero para simular la evolución del sistema generalmente necesita volver a la representación ineficiente original. Si quiere representar eficientemente la dinámica de un estado a través de una evolución dada, nuevamente necesita suposiciones sobre la evolución para que esto sea posible. El único resultado que me viene a la mente a este respecto es el teorema clásico (como se estableció, no como "no cuántico") de Gottesman-Knill , que permite simular eficientemente cualquier circuito cuántico de Clifford.

glS
fuente
9

No estoy seguro de que usar la dispersión sea un buen enfoque aquí: incluso las puertas de un solo qubit podrían convertir fácilmente un estado disperso en uno denso.

Pero puede usar el formalismo estabilizador si solo usa puertas Clifford . Aquí está un breve resumen ( notación ):
El único qubit grupo Pauli es , es decir, todos los productos posibles de matrices de Pauli (incluyendo I ). El grupo de Pauli de varios qubits es el espacio del producto tensorial de G 1 , G n = G n 1 . El estabilizador de un estado | Psi es el subgrupo del grupo Pauli de todos los operadores que estabilizanG1=X,Y,ZIG1Gn=G1n|ψ , cuyos medios s | Psi = | Psi . Es importante tener en cuenta que esto solo funciona para estados específicos (pero importantes). Daré un ejemplo a continuación. La restricción a elementos del grupo Pauli no es necesaria sino común. El estabilizador es generado por los operadores s 1 , s 2 , ... s n . El estabilizador define de manera única el estado y es una descripción eficiente: en lugar de 2 n - 1 números complejos, podemos usar 4 n 2 bits ( G 1|ψs|ψ=|ψs1s2sn2n14n2G1tiene 16 elementos). Cuando aplicamos una puerta , los generadores estabilizadores se actualizan de acuerdo con s iU s i UUsyoUsyoU . Una puerta que asigna operadores Pauli a operadores Pauli se llama puertas Clifford. Estas son las puertas que no "estropearán" nuestra descripción del estado.

Los estados de gráficos son un ejemplo importante para el formalismo estabilizador descrito anteriormente. Considere un (no dirigida) gráfico matemático, que consta de vértices V y los bordes E V × V . Cada vértice corresponde a un qubit. Denotemos la gráfica por G = ( V , E ) . Se produce un estado gráfico a partir del estado | + n , donde | + = 1norteVmiV×Vsol=(V,mi)El |+nortemediante la aplicación de una puerta-fase controladaCZpara cada par de vértices que están conectados. El estabilizador es generado porsv=Xv w V ( v , w ) E Zw.El |+=12(El |0 0+El |1)CZ

sv=XvwV(v,w)miZw.

Por ejemplo, comience con el estado de dos qubits . El estabilizador es X I , IX . Ahora aplicar el C Z puerta para obtener X Z , Z X . (El estado es | ϕ = 1El |ϕ=El |+El |+Xyo,yoXCZXZ,ZX|ϕ=12(1,1,1,1)T , que es unitario local equivalente a un estado de Bell)

El formalismo estabilizador también juega un papel importante en la corrección de errores cuánticos.

M. Stern
fuente
3

¿Se puede usar una representación que sea más compacta, en el sentido de que usa menos memoria y / o potencia computacional que la simple representación vectorial? ¿Como funciona?

Fuente: " Múltiples Qubits ":

"Un solo qubit puede modelarse trivialmente, simulando un cálculo cuántico de cincuenta qubit podría empujar los límites de las supercomputadoras existentes. Aumentar el tamaño del cálculo en solo un qubit adicional duplica la memoria requerida para almacenar el estado y duplica aproximadamente el tiempo de cálculo "Esta rápida duplicación de la potencia computacional es la razón por la cual una computadora cuántica con un número relativamente pequeño de qubits puede superar con creces las supercomputadoras más poderosas de hoy, mañana y más allá para algunas tareas computacionales".

Por lo tanto, no puede utilizar un esquema Ponzi o robarle a Peter para pagarle a Paul . La compresión ahorrará memoria a costa de la complejidad computacional, o la representación en un espacio más flexible (más grande) reduciría la complejidad computacional pero a costa de la memoria. Esencialmente, lo que se necesita es hardware más capaz o algoritmos más inteligentes.


Aquí hay algunos métodos:

  • Compresión del volumen de conjuntos de estados cuánticos de la métrica de Qubit:

La métrica de información de Fisher se puede usar para mapear el volumen del qubit usando un enfoque de geometría de información como se discutió en " El volumen de dos estados de Qubit por geometría de la información ", " Análisis de la información de Fisher y el límite de Cramer-Rao para la estimación no lineal de parámetros After Compressed Sensing ", y nuestra" Explicación intuitiva de Fisher Information y Cramer-Rao ".

  • Análogo a la compresión de operandos:

Calcular descomposiciones de operaciones lógicas con profundidad óptima: " Un algoritmo de encuentro en el medio para la síntesis rápida de circuitos cuánticos con profundidad óptima " o esta discusión de Quora sobre " Codificación de la dimensión de la partícula ".

  • Análogo a la compresión de memoria:

Factorización de Qutrit usando aritmética ternaria: " Factoring con Qutrits: Algoritmo de Shor en arquitecturas cuánticas ternarias y metaplécticas " y " Síntesis de circuito ternario cuántico usando operaciones de proyección ".

  • Análogo a la optimización tradicional.

" Un algoritmo cuántico para encontrar expresiones mínimas exclusivas o ".

  • Otro:

Dimensiones de Krull o axiomatización y reescritura de gráficos: " Integridad del cálculo ZX para la mecánica cuántica Qubit Clifford + T pura ".

Al combinar esas técnicas, deberías poder apretar el pie en el zapato. Eso permitiría la emulación de sistemas más grandes en procesadores convencionales, simplemente no me pidas que explique el trabajo a nivel de doctorado o escriba el código. :)

Robar
fuente