PyQInt is a Python package for calculating one- and two-electron integrals as encountered in electronic structure calculations. Since integral evaluation can be quite computationally intensive, the evaluation is programmed in C++ and connected to Python using Cython.
PyQInt mainly serves as an educational package to teach students how to perform (simple) electronic structure calculations wherein the most difficult task, i.e. the integral evaluation, is already encapsulated in a handy set of routines. With PyQInt, the student can for example build their own Hartree-Fock routine. Some common electronic structure routine, most notably the Hartree-Fock algorithm, is also readily available.
Note
Although PyQInt connects to a C++ backend, it is certainly not optimized for speed and might be (too) slow for anything outside of the calculation of the electronic structure of simple molecules.
Tip
Interested in other education quantum chemical codes? Have a look at the packages below.
PyQInt comes with detailed documentation and examples, which can be found at https://pyqint.imc-tue.nl.
The following molecular integrals are supported by PyQInt
- Overlap integral
- Kinetic integral
- Dipole integral
- Nuclear integral
- Two-electron repulsion integral
as well as the following geometric derivatives
- Overlap integral
- Kinetic integral
- Nuclear integral
- Two-electron repulsion integral
PyQInt offers additional features such as
- Performing restricted Hartree-Fock calculations using DIIS
- Calculation of Crystal Orbital Hamilton Population coefficients
- Construction of localized orbitals using the Boys-Foster method
- Visualization of molecular orbitals
All routines are (automatically) tested and verified against several open-source as well as commercial programs that use cartesian Gaussian orbitals. Nevertheless, if you spot any mistake, please kindly open an issue in this Github repository.
In the image below, the (canonical) molecular orbitals as found using a restricted Hartree-Fock calculation for the CO molecule are shown.