Diagonalización exacta para resolver las degeneraciones del estado fundamental

Estoy estudiando un modelo de código tórico perturbado que no se puede resolver analíticamente. En un toro, la degeneración del estado fundamental del modelo no perturbado es 4. Una vez que activamos la perturbación, hay un cambio en la degeneración del estado fundamental. Me gustaría detectar numéricamente este cambio en la degeneración del estado fundamental utilizando técnicas de diagonalización exactas.

En mi computadora he almacenado la acción del hamiltoniano sobre un conjunto de estados base. Así que si me das algún estado | ψ puedo darte H ^ | ψ en términos de los estados base. Ahora usé esta información para calcular el espectro usando el algoritmo de Lanczos y el algoritmo de Jacobi-Davidson . Si bien el espectro en sí se reproduce correctamente, ninguno de estos algoritmos reproduce correctamente la degeneración del estado fundamental, ni siquiera en el caso no perturbado.

De ahí la siguiente pregunta: ¿Cuáles son los algoritmos comunes de diagonalización exacta para este tipo de sistema de muchos cuerpos que resuelven correctamente la degeneración del estado fundamental?

¡Espero sus respuestas!

El algoritmo de Lanczos puede tener problemas para resolver estados muy cercanos o degenerados en energía. ¿Está re-ortogonalizando los estados que obtiene en el proceso de recursión de Lanczos?
Nuestro sitio hermano, Computational Science , puede ser un buen lugar para hacer esta pregunta si necesita más detalles de los que podemos proporcionar.
Solo por curiosidad, ¿por qué es importante hacer esto numéricamente? ¿No sería más sencillo hacer algo de teoría de grupos y obtener cómo la perturbación afecta la degeneración de esa manera?

Respuestas (2)

¿Qué implementaciones de los dos algoritmos está utilizando? Según tengo entendido, se supone que el algoritmo de Jacobi-Davidson es bueno para lidiar con la degeneración.

En mi experiencia personal, usar el paquete ARPACK suele ser lo suficientemente bueno incluso para problemas de valores propios altamente degenerados (~10 veces o incluso más), siempre que se proporcione un espacio de trabajo razonablemente grande. ARPACK utiliza lo que se llama el Método Lanczos Reiniciado Implícitamente. Todo lo que requiere es la aplicación de la matriz en cualquier vector dado, que es exactamente lo que tiene.

Debe usar el procedimiento de reortogonalización (Gram-Schmidt) en cada paso de Lanczos para capturar correctamente esta degeneración. Descubrí que la degeneración no se capturará correctamente si no ortogonaliza sus vectores Lanczos. He usado Lanczos en el modelo Kitaev antiferromagnético 2D que tiene un estado fundamental degenerado de 4 veces, y Lanczos captura esto correctamente solo después de la implementación del procedimiento de Gram-Schmidt.

Si bien esto ayudará a encontrar la degeneración correcta en los valores propios del hamiltoniano, Lanczos todavía tiene dificultades con el estado real. Lanczos terminará devolviendo los 4 estados degenerados correspondientes como una combinación lineal arbitraria. No sé cómo solucionar este problema.