Software para la diagonalización exacta de hamiltonianos de espín cuántico en 1D y 2D
Estoy buscando software (que también se pueda ejecutar en paralelo) para la diagonalización exacta de hamiltonianos de espín cuántico en 1D y 2D (por ejemplo, el modelo de Heisenberg) que consta de una gran cantidad de sitios de espín.
¡Existen algunos de estos paquetes (por ejemplo, QuSpin, ALPS, SpinPack, Hphi, etc.)!
Sin embargo, si se puede enumerar, ¿cuáles son los pros y los contras de cada paquete y qué paquete es más adecuado para qué tipo de cálculos?
Muchos principiantes se beneficiarán de las respuestas y se agradecerá cualquier ayuda en esta dirección.
Se agradecerían las respuestas en el formato de estos ejemplos:
- ¿Existe un paquete gratuito con una sólida funcionalidad CASSCF?
- Cómo "mojarme los pies" en la teoría funcional de la densidad simulando una molécula de agua usando Python
- Software de simulación de dinámica molecular para Windows
- ¿Cuáles son algunas alternativas de código abierto DFT de todos los electrones a Wien2K?
- Sugerencias para un buen flujo de trabajo de visualización de estructuras cristalinas
- ¿Códigos para el posprocesamiento de archivos de cubo gaussiano?
- ¿Qué software se puede utilizar para realizar análisis QTAIM?
- Herramientas para cálculos de transporte electrónicos
Respuestas
QuSpin
QuSpin es un código Python de código abierto que puede realizar una diagonalización exacta de los sistemas de espín, fermión y bosón. Tiene un amplio soporte para el uso de simetrías, espacios restringidos de Hilbert, varios modelos y evolución temporal. La combinación de una sintaxis de Python bastante simple y una gran cantidad de tutoriales lo convierten en una excelente opción para principiantes, para la experimentación a pequeña escala y los problemas de evolución temporal en sistemas de muchos cuerpos. Sin embargo, las opciones de paralelización son limitadas. Hasta donde yo sé, a partir de la versión 0.3.4, QuSpin solo admite la paralelización en el nodo a través de OpenMP y MKL. Por lo tanto, QuSpin no suele ser la mejor opción si desea alcanzar los sistemas más grandes. Además, QuSpin parece carecer actualmente de soporte integrado para funciones de correlación dinámica, que es de interés para modelar experimentos inelásticos.
Referencias
- Proyecto en GitHub: https://weinbe58.github.io/QuSpin/
- Presentación del artículo: Phillip Weinberg y Marin Bukov, QuSpin: un paquete de Python para la dinámica y la diagonalización exacta de muchos sistemas corporales cuánticos, parte I: cadenas de espín , SciPost Phys. 2 , 003 (2017) .
- Documento de seguimiento: Phillip Weinberg y Marin Bukov, QuSpin: un paquete de Python para la dinámica y la diagonalización exacta de muchos sistemas corporales cuánticos. Parte II: bosones, fermiones y espines superiores , SciPost Phys. 7 , 020 (2019) .