Skip to main content

Implementations of electronic structure methods and mathematical algorithms in Zig, focusing on clarity, simplicity, and modern system programming.

Project description

Zinq

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.

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.

  • 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 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>/zinq

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

Python Wrappers

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 .xyz geometry files.
  • molint - Computes molecular integrals from .xyz geometry files.
  • mp2 - Performs MP2 energy calculations on .xyz geometry 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.
  • eigh - Computes eigenvalues and eigenvectors of hermitian matrices.

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.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zinq-0.5.8-py3-none-any.whl (22.9 MB view details)

Uploaded Python 3

File details

Details for the file zinq-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: zinq-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 22.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for zinq-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 33248f581d2332c71c555ccf4a29a8a1eab288db27304825c68dcc57782de6b1
MD5 07ba2efabc518decbe4511d9a3d122b9
BLAKE2b-256 de46b1986aa5f9c1926a553b2afe6957a0b3b790a4924e37b0436a9c378b72f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page