Skip to main content

mimiq-exaqt (python wrapper, rust core)

Python bindings for exaqt-rs — a SIMD-accelerated state-vector quantum simulator. The distribution is mimiq-exaqt and the import package is exaqt; the native module is exaqt._core, whose public types are re-exported on the top-level package.

Install (release wheel)

Wheels are published to PyPI on each v* tag — one abi3 wheel per platform (Linux x86_64, macOS arm64, Windows x86_64), covering Python 3.10 and every later version:

pip install mimiq-exaqt

The wheel bundles the documentation. Read it offline, without a network round trip, with:

exaqt docs                  # open the bundled site in a browser
exaqt docs --print-path     # or just print where it lives

Install (development checkout)

From this repository, with maturin and uv available (the Nix devshell provides both):

cd exaqt-python
uv venv && uv pip install "mimiqcircuits>=0.28.0" pytest numpy
.venv/bin/maturin develop --release
.venv/bin/python -m pytest -q tests/

A maturin develop build does not build the docs, so exaqt docs has nothing to open. To produce the wheel exactly as CI publishes it — documentation included — run python scripts/build_wheel.py instead.

Quick example

import numpy as np
from exaqt import ExaqtSV, Rng

sv = ExaqtSV.zero(3)
sv.apply_h(0)
sv.apply_cx(0, 1)
sv.apply_cx(0, 2)
print(sv.amplitudes())          # numpy complex128 array, length 2**3

# Multi-qubit Pauli expectation (no need to build a 2^k × 2^k matrix).
print(sv.expectation_pauli("XXX", [0, 1, 2]))   # +1 for the GHZ state

# Sampling.
r = Rng(seed=42)
shots = sv.sample(r, nsamples=1000)             # shape (1000, 3) uint8

mimiqcircuits integration

import mimiqcircuits as mc
from exaqt import ExaqtQCS

c = mc.Circuit()
c.push(mc.GateH(), 0)
c.push(mc.GateCX(), 0, 1)

sim = ExaqtQCS()
result = sim.execute(c, nsamples=1000)   # returns a mimiqcircuits.QCSResults
print(result)

Conventions

  • Qubit ordering. Qubit 0 is the least-significant bit of the basis-state index (matches Qiskit and MimiqCircuitsBase).
  • 2-qubit gate basis. For apply_gate_2q(M, q1, q2), q1 is the most significant bit of the gate's local 2×2-bit basis. See the Rust crate's docs for the precise layout.
  • Cross-language reproducibility. The same Rng(seed) produces the same Xoshiro256++ stream in the Rust core, the Python wrapper, and the Julia wrapper.

Errors

The wrapper raises Python exception subclasses of ExaqtError:

  • GateShapeError — gate matrix has the wrong shape or layout.
  • QubitIndexError — qubit index out of bounds, or duplicate qubits.
  • DegenerateStateError — sampling a state with zero / non-finite norm.
  • NonUnitaryError — only raised when the Rust crate is built with the unitary-checks feature; flags a non-unitary user matrix.

MemoryError is raised for state-vector allocations that won't fit (e.g. ExaqtSV.zero(40)) — instead of aborting the process.

Metadata

Release files for mimiq-exaqt 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for mimiq-exaqt 0.3.0
File Interpreter ABI Platform
mimiq_exaqt-0.3.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
mimiq_exaqt-0.3.0-cp310-abi3-manylinux_2_34_x86_64.whl CPython 3.10 abi3 Linux glibc 2.34+ x86-64 Details
mimiq_exaqt-0.3.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 4.5 MB

Release files / mimiq_exaqt-0.3.0-cp310-abi3-win_amd64.whl

Download URL mimiq_exaqt-0.3.0-cp310-abi3-win_amd64.whl
Size 1.4 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
836184089f424f041d095bf6099371623e07a722e261c37835a389c721d2163a
BLAKE2b-256 checksum
How to use checksums
6d42551e9b8f8f29702ed7bc99d306b9c9afe58a1befd77baeaa4de1c28db1ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / mimiq_exaqt-0.3.0-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL mimiq_exaqt-0.3.0-cp310-abi3-manylinux_2_34_x86_64.whl
Size 1.6 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
d173af891bd6c9820cb31b863e60304fe349be476795ebb42229bcb6bf154c34
BLAKE2b-256 checksum
How to use checksums
bc336168e61e51c4c2633c0ff274db7fc8729ffe0c7d767cacd432a2f41128d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / mimiq_exaqt-0.3.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL mimiq_exaqt-0.3.0-cp310-abi3-macosx_11_0_arm64.whl
Size 1.5 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
074f0f07cc3005f498850c61b72ad98b4bcf2ec1b182629fb7c95eea24cb1a93
BLAKE2b-256 checksum
How to use checksums
192024bb5aa076a13bad72e67df3fcb8a8d0feb5caebd701e4255eaf8bb48b6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.3.0 This release

3 release files

0.2.1

3 release files

0.2.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page