Features · Compilation · Docs
A lightweight Zig framework for electronic structure theory, quantum chemistry, and mathematical algorithms. Written from scratch, it favors simple design and transparent implementation while relying on efficient algorithms.
Zinq provides tools for both time-independent and time-dependent quantum mechanical simulations.
-
Integrals over Gaussian Basis Functions
Compute integrals over Gaussian basis functions from .xyz geometries and basis files. -
Hartree–Fock Methods
Perform restricted or generalized Hartree-Fock calculation with DIIS accelerator. -
Post-Hartree–Fock Methods
Use variety of selected perturbative or variational post-Hartree-Fock methods. -
Electronic Structure Analysis
Compute energy derivatives and harmonic vibrational frequencies across supported methods.
-
Quantum Dynamics
Simulate wavepacket dynamics in arbitrary dimensions and across multiple electronic states. -
Dirac–Frenkel Variational Principle
Propagate a parametrized wavefunction using the Dirac–Frenkel variational principle. -
Surface Hopping
Run nonadiabatic dynamics with various surface hopping algorithms.
You can download the latest binaries from the releases page. The releases are provided for Linux, Windows and MacOS with the common CPU architectures. All binaries are statically linked with no external runtime dependencies. For less common platforms, see the compilation section. The binaries can also be installed using pip from PyPI.
Compiling Zinq is simple, running make will automatically download the Zig compiler to the project root and compile the Zinq binaries. The resulting executables are placed in the zig-out directory, organized by operating system and architecture. On Linux and Windows, most users will want the x86_64 binary, while on MacOS the aarch64 binary is usually appropriate. To verify the build, execute
./zig-out/<arch-os>/zinqand check that the missing input message is displayed. If the message appears, the program is compiled correctly.
You can access Zinq's functionality through the dedicated Python wrappers. If you installed Zinq via PyPI, these wrappers are pre-installed and ready to use. However, if you are compiling from source, you will need to build them manually. From the project root, simply run make pip to build the wheel and install the package (or make wheel to build without installing). Once set up, the zinq command is added to your PATH. You also gain access to:
hf- Runs Hartree-Fock calculations on.xyzgeometry files.molint- Computes molecular integrals from.xyzgeometry files.mp2- Performs MP2 energy calculations on.xyzgeometry files.primecheck- Checks for primality of numbers as a standalone utility tool.primefact- Performs prime factorization as a standalone utility tool.primegen- Generates prime numbers as a standalone utility tool.
This project is licensed under the MIT License. See LICENSE for details.