ModelHamiltonian: API and Interface Improvement
- Mentors
- Gabriela, Valerii Chuiko, marco_qcdevs, Paul W. Ayers
- Organization
- QC-Devs
- Technologies
- python, cython, mysql, pytests
- Topics
- databases, simulation, Scientific programming, Quantum Chemestry
Sometimes, in the context of quantum chemistry, the quantum state of a system in a crystal or molecule can be well described only by its occupation and/or spin operators. The goal of Model Hamiltonians, one of the APIs of the QC-Devs, is to create a framework for constructing the models and outputting them into a format that is possible for traditional Python packages solving Quantum Many-Body problems.
In some cases, it is more convenient to think only about the occupation number of an atomic (or functional moiety), which constitutes an occupation-based Hamiltonian. The most general occupation-number Hamiltonian we consider is the generalized Pariser-Parr-Pople + pairing (PPP+P) Hamiltonian. For some other phenomena, it’s convenient to write the Hamiltonian only in function of the spin operators. This constitutes the Spin-based Hamiltonians and can be exemplified by the Heisenberg model.
On the other hand, for some materials like superconductors, it’s necessary to combine both types of models at the same time, in a class known as occupation-and-spin-based Hamiltonians, where the most known is the t-J-U-V model, which can be expressed as a sum of the Heisenberg XXZ and the PPP hamiltonian.
The package already includes implemented occupation-based and spin-based Hamiltonians. However, there is still a need for additional occupation- and spin-based Hamiltonians.
The primary objective of this project is to implement occupation-and-spin-based Hamiltonians, which involves the following steps:
1. Establish a dictionary-based database to include standard constants defining various atoms and their connectivity types.
2. Develop an API that integrates the existing code with the occupation- and spin-based Hamiltonians.
3. Design and execute tests for the implemented API to ensure its reliability and functionality.
4. Develop utility functions to generate model Hamiltonians in formats compatible with external programs, such as FCIDump and Triqs.