Skip to main content

Educational quantum computing simulator for learning and experimentation

Project description

quantumsim: Educational Quantum Computer Simulator Goal: Lightweight, didactic quantum circuit simulator optimized for clarity, modularity, and CPU-only execution on a MacBook. ## Features SUCCESS: - Statevector simulator (dense) up to ~20 qubits comfortably. - Complete gate library: X, Y, Z, H, S, T, RX, RY, RZ, CX, CZ, SWAP. - Circuit builder with fluent API and ASCII visualization. - Quantum noise models: Depolarizing, amplitude damping, phase damping. - Educational examples: Bell states, Grover's algorithm, teleportation, noise effects. - Measurement simulation with classical outcome sampling. ## Quick Start bash # From the workspace root: PYTHONPATH=$(pwd) python quantumsim/examples/run_grover.py PYTHONPATH=$(pwd) python quantumsim/examples/run_noise_demo.py ## Example Usage python from quantumsim import Circuit, Executor, print_circuit # Create Bell state c = Circuit(2) c.h(0).cx(0, 1) print_circuit(c) # Execute and measure sv = Executor().run(c) print("Measurement counts:", sv.measure_all(1000)) # Output: {'00': ~500, '11': ~500} ## Advanced Features python # Noise simulation from quantumsim.noise import DepolarizingChannel noise = DepolarizingChannel(p=0.1) noisy_state = noise.apply_stochastic(sv) # Algorithm examples python quantumsim/examples/run_grover.py # 2-qubit search python quantumsim/examples/run_teleport.py # Quantum teleportation ## Roadmap Stages 1. Core data structures (QubitRegister, Gate, Circuit) + statevector executor. 2. Measurement + basic noise injection. 3. Visualization (ASCII + optional matplotlib). 4. Algorithms examples + docs. 5. Performance pass: simple gate fusion and caching. 6. (Stretch) Tensor network path contraction for >24 qubits (limited cases). ## Design Principles - Readability over micro-optimization in v0. - Pure functions where reasonable; deterministic random seeds. - Type hints & docstrings for every public function. - Minimal dependencies initially (numpy, typing, dataclasses, matplotlib optional). ## Folder Structure (planned) quantumsim/ core/ statevector.py gates.py circuit.py executor.py noise/ channels.py viz/ ascii.py examples/ run_bell.py run_teleport.py requirements.txt README.md ## License MIT (to be added).

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

quantumsim_edu-2.0.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

quantumsim_edu-2.0.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file quantumsim_edu-2.0.0.tar.gz.

File metadata

  • Download URL: quantumsim_edu-2.0.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for quantumsim_edu-2.0.0.tar.gz
Algorithm Hash digest
SHA256 bd75e2896fca905b36f45e338d07fb6c4827ee30a786c60f87167a06acb4a652
MD5 1803e02b8667c162b7c8b37229bf4ab1
BLAKE2b-256 91173460c6bb0fb33edaec005d5bd03ddd6c75e5e7fff92e1abe387b4603409a

See more details on using hashes here.

File details

Details for the file quantumsim_edu-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: quantumsim_edu-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for quantumsim_edu-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c75f569e1b15a414b4a21152f62d584dda140be79d64782bf5d98b3d19344911
MD5 f5a1ca06683c131606db6923643bd520
BLAKE2b-256 20264a4b803dd82ae1dd3705e07abedd7563ce916701aeb666af0dbc459b0a8a

See more details on using hashes here.

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