Metadata-Version: 2.4
Name: quantumsim-edu
Version: 2.0.0
Summary: Educational quantum computing simulator for learning and experimentation
Home-page: https://github.com/Vaiditya2207/quantum-projects
Author: Vaiditya Tanwar
Author-email: vaidityatanwar2207@gmail.com
Project-URL: Bug Reports, https://github.com/Vaiditya2207/quantum-projects/issues
Project-URL: Source, https://github.com/Vaiditya2207/quantum-projects
Project-URL: Documentation, https://github.com/Vaiditya2207/quantum-projects/blob/main/README.md
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Education
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.21.0
Requires-Dist: matplotlib>=3.5.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Provides-Extra: jupyter
Requires-Dist: jupyterlab>=3.0; extra == "jupyter"
Requires-Dist: ipywidgets>=7.0; extra == "jupyter"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 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).
