Estoy tratando de calcular (numéricamente) las matrices de algunas operaciones ópticas cuánticas simples, que en principio son unitarias. Sin embargo, en mi caso son unitarios en un espacio de dimensión infinita, por lo que tengo que truncarlos. El resultado ya no es necesariamente unitario, pero si todas las entradas son correctas hasta el tamaño que elijo, estoy feliz.
Así que calculo el generador, lo trunco al tamaño de mi gusto y luego lo exponencio, ¿verdad? No. No funciona de esa manera: las entradas pueden estar muy equivocadas. En algunos casos son casi correctos, en otros casos están todos desordenados.
Ejemplo 1 : el divisor de haz .
resultado: las entradas son casi correctas, a excepción de la última fila y columna de ambos espacios como en esta figura (para ):
Las únicas partes correctas son las que están en los espacios en blanco. En este caso la solución es truncar y medir y luego tirar las filas/columnas incorrectas.
Ejemplo 2 : el exprimidor monomodo
Todo esto es un lío: a medida que aumento el tamaño de , las entradas del resultado final (que están colocadas correctamente en un "patrón de tablero de ajedrez") parecen converger a sus valores correctos, pero para tener el primer (digamos) bloque 4x4 algo correcto, tengo que truncar a y luego truncar el resultado de la exponenciación a un tamaño de 4x4.
¿Estoy haciendo esto de la manera incorrecta? Eventualmente me gustaría producir las matrices de operaciones más bien no lineales, donde el y los operadores estan elevados a grandes potencias, como puedo saber si lo estoy haciendo bien?
ACTUALIZACIÓN: En el primer caso (el divisor de haz) el unitario está en , que es compacto y admite irreps de dimensión finita. Entonces puedo exponenciarlos individualmente y de esos puedo construir el unitario truncado 😁
En el segundo caso (el exprimidor) el unitario está en que no es compacto y, de hecho, el operador de Casimir tiene dos espacios propios de dimensión infinita: uno correspondiente a estados pares y otro impar de Fock. También para el exprimidor de dos modos, los espacios propios del Casimir son de dimensión infinita (aunque contablemente infinitos). Entonces no puedo usar el método multiplete en este caso.
Encontré la respuesta, al menos para algunos de los casos que pensé que eran intratables, incluidos mis ejemplos. La herramienta principal es el teorema de desenredado para el grupo relevante.
Ejemplo 1 : la transformación está en , entonces necesitamos el teorema de desenredo:
Ejemplo 2 : la transformación está en , entonces necesitamos el teorema de desenredo:
Caso general : en general, puede ser imposible tener un teorema de desenredado adecuado, pero resultados como este pueden ayudar a aproximarlo (consulte la ecuación (30)-(35) para los dos ejemplos anteriores).
Espero que esto ayude a aquellos que se tropiecen con mi mismo problema.
Como cuestión práctica, esto es algo en lo que espera que la exponenciación converja a medida que crece el tamaño de la entrada truncada. Entonces, sin saber nada sobre el problema en cuestión, me gustaría
Idealmente, como mencionó @Adam en un comentario, encontraría los vectores propios y los valores propios del operador/matriz en cuestión para hacer el cálculo. Examinar ese enfoque es instructivo para determinar si el algoritmo anterior puede converger. Si la expresión del operador original es:
La convergencia de la segunda expresión requiere que los vectores propios no mezclen demasiado los estados, de lo contrario la suma divergirá. Por ejemplo, si los valores propios crecen linealmente con entonces los vectores propios tienen que caer más rápido que exponencialmente en . En el caso ideal, cada vector propio tendrá un número finito de componentes, lo que garantiza la convergencia, pero puede que no siempre sea así.
Si una matriz no es diagonal o en la forma normal de Jordan, entonces tienes que truncar la exponencial después de calcularlo, y no solo truncar la matriz y luego calcular . Esto se debe a que los elementos de la matriz , , que descuidas al truncar a , están contribuyendo a los elementos de la matriz , , como se puede ver al expandir . las contribuciones a , , de etc. que descuidas al truncar a , son , etc., que en general no son cero. Lo que puede hacer es tratar de calcular explícitamente los elementos de la matriz en base Fock, hasta . Sin embargo, esto no es práctico y se puede hacer en casos limitados, por ejemplo, para el operador de desplazamiento :
Adán
Ziofil
Adán
Ziofil
Adán
Ziofil
Adán
Ziofil
udv
Ziofil
emilio
Emilio Pisanty
Ziofil