Skip to main content

Qubit Simulator

A simple yet flexible statevector-based quantum circuit simulator for Python. It supports common single-, two-, and three-qubit gates (including parameterized gates), measurement (shot-based sampling), state resetting, and basic circuit visualization.

Features

  • Statevector Simulation: Maintains a complex-valued statevector of size ( 2^n ).
  • Common Gates: X, Y, Z, H, S, T, plus multi-qubit gates like CNOT, SWAP, Toffoli, Fredkin, etc.
  • Parameterized Gates: General single-qubit rotation ( U(θ, φ, λ) ).
  • Controlled Gates: Automatically construct controlled versions of single-qubit gates.
  • Circuit Visualization: Generate a diagram of applied operations with .draw().
  • Measurement: Returns shot-based measurement outcomes from the final state.
  • Lightweight: Only requires NumPy. For plotting, install optional matplotlib.

Installation

Install Qubit Simulator via pip:

pip install qubit-simulator[visualization]

Usage

Initializing the Simulator

Create a simulator with a specified number of qubits:

from qubit_simulator import QubitSimulator

sim = QubitSimulator(num_qubits=2)

Applying Gates

Apply various quantum gates to the qubits:

sim.h(0)      # Hadamard gate
sim.t(0)      # π/8 gate
sim.cx(0, 1)  # Controlled-Not gate

Custom Gates

Define and apply custom gates using angles:

sim.u(1.05, 1.57, 3.14, 1)  # Arbitrary single-qubit gate

Circuit Drawing

Get a drawing of the circuit:

sim.draw()

Circuit Drawing

Measurements

Measure the state of the qubits:

print(sim.run(shots=100))
{'000': 49, '001': 1, '100': 1, '101': 49}

Statevector Plot

Show the amplitude and phase of all quantum states:

sim.state()

Statevector Bar Chart

Testing

Tests are included in the package to verify its functionality and provide more advanced examples:

python3 -m pytest tests/

License

This project is licensed under the MIT License.

Release files for qubit-simulator 0.1.1

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

Source distribution (sdist)

Source distribution for qubit-simulator 0.1.1
File Size Uploaded
qubit_simulator-0.1.1.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qubit-simulator 0.1.1
File Interpreter ABI Platform
qubit_simulator-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / qubit_simulator-0.1.1.tar.gz

Download URL qubit_simulator-0.1.1.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
24f5dbdb0e3f1c4e2cbf0b6ead936cb7909f372c430316d902e002eaf5dc4b9f
BLAKE2b-256 checksum
How to use checksums
f9ba8ef5146d7f8e8c3f244ca6ed4c7393b4217a61ed567cb817f21648c47a8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / qubit_simulator-0.1.1-py3-none-any.whl

Download URL qubit_simulator-0.1.1-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f02621165ac61c65b3f5deb106eecafa0258b19f041ce97da9b59cb4850578d
BLAKE2b-256 checksum
How to use checksums
5371070fc9ee2985e5527057c2aab08547f4ce4c3cf925c9bda78ea1b8eb13b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 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