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.27.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.27.0-cp311-abi3-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11+Windows x86-64

prism_q-0.27.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

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

prism_q-0.27.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.27.0.tar.gz.

File metadata

  • Download URL: prism_q-0.27.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.27.0.tar.gz
Algorithm Hash digest
SHA256 81df6e1c43ef7bba46720da4a65081d38fc49d9fc679c7f85e3efba8ec004f2a
MD5 fd23ca239471647ec2f702be0fa00be4
BLAKE2b-256 1aa36f787e276512e6c11efb66ad588b891145f6d714686a9d5a0d0712b138c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.27.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.27.0-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: prism_q-0.27.0-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.2 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.27.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ea7573099b2041d09c84f612665620341e57576ceef966df2c9684b0f3f78525
MD5 d968ba53d33bcb6e0f2ac41a10d3de3c
BLAKE2b-256 709a680331689101353c75c3c1322f336ab4f45d4c1b7b912bdbcd481704c44d

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.27.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.27.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prism_q-0.27.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91156ed9fbd11241bc6d6f1fa2a94aaede5e90641e96530b076e532492709ee3
MD5 a600fdcc786d8823b03f31847290108f
BLAKE2b-256 2ed8623e97662143f37732d826ac4f1fbf06d9cce60ed9af7d8af7b75c6391af

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.27.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.27.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prism_q-0.27.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 736f0839a8abbf3e7bffe961353527da570e6775f606d605fa8dbb9ebc4cedf4
MD5 2cea87d64836bfccaf75faa9dc21535b
BLAKE2b-256 1ea3e110405f54a344e9954a693be463a7a1413e6c2689dd9e6db7e4eab5f01c

See more details on using hashes here.

Provenance

The following attestation bundles were made for prism_q-0.27.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