Metadata-Version: 2.4
Name: zinq
Version: 0.6.6
Summary: Implementations of electronic structure methods and mathematical algorithms in Zig, focusing on clarity, simplicity, and modern system programming.
Author-email: tjira <tom.jira@gmail.com>
Project-URL: Homepage, https://tjira.github.io/zinq/
Project-URL: Bug Tracker, https://github.com/tjira/zinq/issues
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

<h1 align="center">Zinq</h1>

<h4 align="center">
  <a href="https://github.com/tjira/zinq#features">Features</a>
  ·
  <a href="https://github.com/tjira/zinq#compilation">Compilation</a>
  ·
  <a href="https://tjira.github.io/zinq/">Docs</a>
</h4>

<p align="center">
    <a href="https://github.com/tjira/zinq/pulse">
        <img src="https://img.shields.io/github/last-commit/tjira/zinq?style=for-the-badge"/>
    </a>
    <a href="https://github.com/tjira/zinq/blob/master/license">
        <img src="https://img.shields.io/github/license/tjira/zinq?style=for-the-badge"/>
    </a>
    <a href="https://github.com/tjira/zinq/actions/workflows/test.yml">
        <img src="https://img.shields.io/github/actions/workflow/status/tjira/zinq/test.yml?style=for-the-badge&label=test"/>
    </a>
    <a href="https://pypi.org/project/zinq">
        <img src="https://img.shields.io/pypi/v/zinq?style=for-the-badge"/>
    </a>
    <br>
    <a href="https://github.com/tjira/zinq">
        <img src="https://img.shields.io/github/languages/code-size/tjira/zinq?style=for-the-badge"/>
    </a>
    <a href="https://github.com/tjira/zinq">
        <img src="https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/tjira/zinq/badge?filter=.zig&style=for-the-badge&format=human"/>
    </a>
    <a href="https://github.com/tjira/zinq/stargazers">
        <img src="https://img.shields.io/github/stars/tjira/zinq?style=for-the-badge"/>
    </a>
    <a href="https://github.com/tjira/zinq/releases/latest">
        <img src="https://img.shields.io/github/downloads/tjira/zinq/total?style=for-the-badge"/>
    </a>
    <br>
</p>

<p align="center">
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.
</p>

## 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](https://github.com/tjira/zinq/releases/latest) 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](#Compilation) section. The binaries can also be installed using `pip` from [PyPI](https://pypi.org/project/zinq).

### 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

```bash
./zig-out/<arch-os>/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](https://doi.org/10.5281/zenodo.18386143) 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.

```bibtex
@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](LICENSE) for details.

---

<p align="left">
    <a href="https://gitlab.com/tojira/zinq">
        <img src="https://img.shields.io/badge/mirror-gitlab-orange?logo=gitlab&style=for-the-badge"/>
    </a>
    <a href="https://codeberg.org/tjira/zinq">
        <img src="https://img.shields.io/badge/mirror-codeberg-blue?logo=codeberg&style=for-the-badge"/>
    </a>
</p>
