Skip to main content

PRISM-Q: performance-first quantum circuit simulator (Python bindings)

Project description

PRISM-Q (Python)

Python bindings for PRISM-Q, a performance-first quantum circuit simulator written in Rust.

Install

pip install prism-q

Quick start

import prism_q

# Build a Bell state and run it.
circuit = prism_q.CircuitBuilder(2).h(0).cx(0, 1).build()
outcome = prism_q.simulate(circuit).seed(42).run()
print(outcome.probabilities)        # array([0.5, 0., 0., 0.5])

# Parse OpenQASM and sample shots.
qasm = """
OPENQASM 3.0;
qubit[2] q;
bit[2] c;
h q[0];
cx q[0], q[1];
c = measure q;
"""
result = prism_q.simulate(prism_q.parse_qasm(qasm)).seed(7).shots(1000)
print(result.counts())              # {'00': ~500, '11': ~500}

# Exact statevector as a NumPy array.
sv = prism_q.simulate(prism_q.circuits.ghz(3)).seed(1).state_vector()
print(sv.dtype, sv.shape)           # complex128 (8,)

Bit ordering

Count keys and measurement bit indices are LSB-first: in a bitstring key, the leftmost character is classical bit 0, and q[0] is the least-significant qubit. This is reversed relative to Qiskit. For example, the state where only q[0] is set reads as "10...", not "...01".

Features

  • Fluent CircuitBuilder and OpenQASM 3.0 parsing.
  • Reusable circuit generators (prism_q.circuits): QFT, GHZ, QAOA, hardware-efficient ansatz, quantum volume, and more.
  • Backend selection via BackendKind (statevector, stabilizer, sparse, MPS, Pauli propagation, ...).
  • Noise models (NoiseModel, NoiseChannel) for shot sampling.
  • Native QEC programs (QecProgram) with detector and observable sampling.
  • NumPy output for probabilities, statevectors, and QEC bit matrices.

License

MIT OR Apache-2.0

Project details


Download files

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

Source Distribution

prism_q-0.24.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

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

prism_q-0.24.0-cp311-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11+Windows x86-64

prism_q-0.24.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

prism_q-0.24.0-cp311-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file prism_q-0.24.0.tar.gz.

File metadata

  • Download URL: prism_q-0.24.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for prism_q-0.24.0.tar.gz
Algorithm Hash digest
SHA256 62d20943bfe926b32061d6738341c317508707f79878741fa1374dbb2b4c4417
MD5 02ac0bf1f525093488af59f905d68f52
BLAKE2b-256 d66aeffe7a3cd45c4dda2d3e458ae9ac426d2256d26f476486145caa6a3c6a36

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.24.0.tar.gz:

Publisher: python.yml on AbeCoull/prism-q

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prism_q-0.24.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: prism_q-0.24.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for prism_q-0.24.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 356995cdc2b88ef6038dfb8f412515d059bcc9087373861b4d39b07ad6346aa5
MD5 a8fdfc683a69024b6ad8ae60830c2161
BLAKE2b-256 33dda4672667e61300875c4bea05277646e3114cc8b8abf83149e2b2f8367ed3

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.24.0-cp311-abi3-win_amd64.whl:

Publisher: python.yml on AbeCoull/prism-q

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prism_q-0.24.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prism_q-0.24.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e7a55fbbf8142b21c86865cb52cb764600a3e3a15cd91f433e5c25d9e029652
MD5 4401a675a4e6c2079c60ef1ab30f7713
BLAKE2b-256 ac34460ea73ef177626e81731c83fcc3e5ba24344f14cd82818125c757768a29

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.24.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python.yml on AbeCoull/prism-q

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prism_q-0.24.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prism_q-0.24.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 080654abb54da282e2c7bb017ecf20770bde81691bf0c0a17d7c9209dd54f37d
MD5 159e4b41e65c611d34a82ec68737d531
BLAKE2b-256 6db9aa8d2b9a925d30896ab07529419572e516641bf306b90fe7009081317a70

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.24.0-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: python.yml on AbeCoull/prism-q

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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