Skip to content
/ pyqint Public

An Educational Hartree-Fock Code in Python: Transparent Implementation of Gaussian-Type Integrals, SCF Procedures, and Geometry Optimization

License

Notifications You must be signed in to change notification settings

ifilot/pyqint

Repository files navigation

PyQInt

Conda pkg PyPI pkg docs Anaconda-Server Badge PyPI License: GPL v3

Purpose

PyQInt is a Python-based, teaching-oriented implementation of the Hartree-Fock method, designed to make the inner workings of electronic structure theory accessible and transparent. It provides a clear, readable interface to fundamental components such as molecular integrals over Gaussian basis functions, SCF procedures (with DIIS acceleration), orbital localization, and geometry optimization.

What sets PyQInt apart is its educational design philosophy: all matrices, intermediate results, and algorithmic steps are exposed—allowing students, educators, and developers to inspect, understand, and experiment with every part of the computation. Whether you're learning how Hartree-Fock works, developing your own extensions, or teaching a course in computational chemistry, PyQInt offers a hands-on, exploratory platform.

Note

PyQInt connects to a C++ backend for core numerical routines, but it is not optimized for performance. It is best suited for learning, prototyping, and small molecule calculations—not production-scale quantum chemistry.

Tip

Interested in other education quantum chemical codes? Have a look at the packages below.

  • PyDFT is a pure-Python density functional theory code, built on top of PyQInt.
  • HFCXX is a full C++ code for performing Hartree-Fock calculations.
  • DFTCXX is a full C++ code for performing Density Functional Theory Calculations.

Documentation

PyQInt comes with detailed documentation and examples, which can be found at https://ifilot.github.io/pyqint/.

Features

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

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.

Molecular orbitals of CO