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.22.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.22.0-cp311-abi3-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11+Windows x86-64

prism_q-0.22.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.22.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.22.0.tar.gz.

File metadata

  • Download URL: prism_q-0.22.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.12

File hashes

Hashes for prism_q-0.22.0.tar.gz
Algorithm Hash digest
SHA256 d4262e74320f7c707146649f97efa7b0d39da11856b835e397174d404c5a4593
MD5 c466a900725254763a3c918cde21ce93
BLAKE2b-256 f4ced2e1e0e5962d3856856df857f6e4563238eba9b89ceedc79556e9df198cd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: prism_q-0.22.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.12

File hashes

Hashes for prism_q-0.22.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 bf5a6f75f5f80e6bdebe918129a2d96b83d869467ffa9d8e5a0fbaac66a69998
MD5 3ad5b4c3d1bb57e34721e9ad26b26f9a
BLAKE2b-256 1efa9cacc2d2fd091f1ee1c04c2221db93efa570453d979a7f87a804cad2283f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for prism_q-0.22.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d5ce17a4331d82e724f506a204cc88129aa408fb90171d973d1635be706674f
MD5 712b3d51eb7f75f9b472657ef7e0d891
BLAKE2b-256 792b909d276562729742f66c4f202e1a0add3e76f5e45c985feecb096949890d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for prism_q-0.22.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee1ed6525dec7f558814266a77102e7e27e83f241a4eae750d34a29d0e502de2
MD5 3cc17122e667ec2771073df736208831
BLAKE2b-256 0ea0af62d12a4e8998a595db95abc0a8d74043398ffc8fc5df3f60842cfbebca

See more details on using hashes here.

Provenance

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