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.

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.5-py3-none-any.whl (24.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: zinq-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 24.5 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 abeb305a94a00e2c4dc8fd2ba66fb3db90811474be36036335ebcd37e610d66e
MD5 331eb6453c47c7ca2ba844962a46613a
BLAKE2b-256 2bc539ef110fbfd9dfe2f9b16561f25559a6f28172c636ad1ea778611f8e64b5

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