Oprogramowanie do dokładnej diagonalizacji hamiltonianów spinów kwantowych w 1D i 2D
Szukam oprogramowania (które może również działać równolegle) do dokładnej diagonalizacji hamiltonianów spinów kwantowych w 1D i 2D (np. Model Heisenberga) składającego się z dużej liczby miejsc spinowych.
Istnieje kilka takich pakietów (np. QuSpin, ALPS, SpinPack, Hphi itp.)!
Jeśli jednak można je wymienić, jakie są wady i zalety każdego pakietu i który pakiet jest bardziej odpowiedni do jakiego rodzaju obliczeń?
Odpowiedzi przyniosą korzyści wielu początkującym, a każda pomoc w tym kierunku będzie doceniona.
Będą mile widziane odpowiedzi w formacie tych przykładów:
- Czy istnieje bezpłatny pakiet z solidną funkcjonalnością CASSCF?
- Jak „zmoczyć stopy” w teorii funkcjonałów gęstości poprzez symulację cząsteczki wody za pomocą Pythona
- Oprogramowanie symulacyjne Molecular Dynamics dla systemu Windows
- Jakie są alternatywy całkowicie elektronowego DFT dla Wien2K o otwartym kodzie źródłowym?
- Sugestie dotyczące dobrego przepływu pracy przy wizualizacji struktury kryształu
- Kody do przetwarzania plików kostek Gaussa?
- Jakiego oprogramowania można użyć do analizy QTAIM?
- Narzędzia do kalkulacji transportu elektronicznego
Odpowiedzi
QuSpin
QuSpin to kod Pythona o otwartym kodzie źródłowym, który umożliwia dokładną diagonalizację systemów spinowych, fermionowych i bozonowych. Ma szerokie wsparcie dla wykorzystania symetrii, ograniczonych przestrzeni Hilberta, różnych modeli i ewolucji czasu. Połączenie dość prostej składni Pythona i dużej liczby samouczków sprawia, że jest to doskonały wybór dla początkujących, do eksperymentów na małą skalę i problemów związanych z ewolucją czasu w systemach wielociałowych. Jednak opcje zrównoleglania są ograniczone. O ile mi wiadomo, od wersji 0.3.4 QuSpin obsługuje tylko równoległość na węźle przez OpenMP i MKL. Dlatego QuSpin zazwyczaj nie jest najlepszym wyborem, jeśli chcesz dotrzeć do największych systemów. Ponadto wydaje się, że QuSpin nie ma obecnie wbudowanej obsługi funkcji korelacji dynamicznej, co jest interesujące przy modelowaniu eksperymentów nieelastycznych.
Bibliografia
- Projekt na GitHub: https://weinbe58.github.io/QuSpin/
- Artykuł wprowadzający: Phillip Weinberg i Marin Bukov, QuSpin: pakiet Pythona do dynamiki i dokładnej diagonalizacji kwantowych układów wielu ciał część I: łańcuchy spinowe , SciPost Phys. 2 , 003 (2017) .
- Artykuł uzupełniający: Phillip Weinberg i Marin Bukov, QuSpin: pakiet Pythona do dynamiki i dokładnej diagonalizacji kwantowych układów wielu ciał. Część II: bozony, fermiony i wyższe spiny , SciPost Phys. 7 , 020 (2019) .