Skip to content

tjira/zinq

Repository files navigation

Zinq



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.

Features

Zinq provides tools for both time-independent and time-dependent quantum mechanical simulations.

Time-Independent Quantum Mechanics

  • 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.

  • Density Functional Theory
    Use variety of exchange-correlation functionals for density functional theory calculations.

  • Time-Dependent Density Functional Theory
    Calculate excitation energies and transition properties with time-dependent density functional theory.

  • Electronic Structure Analysis
    Compute energy derivatives and harmonic vibrational frequencies across supported methods.

Time-Dependent Quantum Mechanics

  • 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.

Getting Zinq

Prebuilt Releases

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.

Compilation

Compiling Zinq is easy. Running make detects if a Zig compiler is available. If not, it automatically downloads the compiler to the project root and builds the binaries. The resulting executables are placed in the zig-out/bin directory. To verify the build, execute

./zig-out/bin/zinq

and check that the missing input message is displayed. If the message appears, the program is compiled correctly.

Citation

If you use Zinq in your research, please cite the project on Zenodo using the following general BibTeX entry. If you are referring to a specific version, please visit the Zenodo page and download the corresponding citation there.

@software{ZinqJira2026,
    author    = {Tomáš Jíra},
    title     = {tjira/zinq},
    year      = 2026,
    publisher = {Zenodo},
    doi       = {10.5281/zenodo.18386143},
    url       = {https://doi.org/10.5281/zenodo.18386143},
}

License

This project is licensed under the MIT License. See LICENSE for details.