Skip to main content

Educational quantum computing simulator with statevector simulation, quantum algorithms, and noise modeling

Project description

quantumsim-edu: Educational Quantum Computing Simulator

A lightweight, educational quantum circuit simulator designed for learning quantum computing concepts. Built with clarity and modularity in mind, quantumsim provides an intuitive interface for building and simulating quantum circuits.

How quantumsim Works

quantumsim uses a statevector simulation approach to model quantum systems:

1. Quantum State Representation

  • Quantum states are represented as complex-valued vectors in a 2^n dimensional Hilbert space
  • For n qubits, the statevector contains 2^n complex amplitudes
  • Each amplitude represents the probability amplitude for a specific computational basis state

2. Gate Operations

  • Quantum gates are implemented as unitary matrices
  • Gate application involves matrix-vector multiplication with the statevector
  • Multi-qubit gates use tensor product operations to construct full-dimensional matrices
  • All standard gates (Pauli, Hadamard, CNOT, rotations) are pre-implemented

3. Circuit Execution

  • Circuits are built using a fluent API that chains gate operations
  • The executor applies gates sequentially to evolve the quantum state
  • Intermediate states can be inspected for educational purposes

4. Measurement Simulation

  • Measurements collapse the quantum state according to Born's rule
  • Probability distributions are computed from statevector amplitudes
  • Classical outcomes are sampled using weighted random selection

Features

Core Simulation Engine:

  • Statevector simulator supporting up to 20 qubits on typical hardware
  • Complete quantum gate library: Pauli gates (X, Y, Z), Hadamard (H), Phase gates (S, T), Rotation gates (RX, RY, RZ), Controlled gates (CX, CZ), SWAP gate
  • Fluent circuit building API with method chaining
  • ASCII circuit visualization for educational clarity

Educational Tools:

  • Interactive examples demonstrating key quantum algorithms
  • Bell state preparation and measurement
  • Grover's search algorithm implementation
  • Quantum teleportation protocol
  • Noise modeling for realistic quantum simulation

Quantum Noise Models:

  • Depolarizing channel for general decoherence
  • Amplitude damping for energy relaxation (T1 processes)
  • Phase damping for pure dephasing (T2 processes)
  • Stochastic noise application for realistic simulations

Installation

pip install quantumsim-edu

Quick Start

from core.circuit import Circuit
from core.executor import Executor
from viz.ascii import print_circuit

# Create a Bell state circuit
circuit = Circuit(2)
circuit.h(0)        # Apply Hadamard to qubit 0
circuit.cx(0, 1)    # Apply CNOT with control=0, target=1

# Visualize the circuit
print_circuit(circuit)

# Execute the circuit
executor = Executor()
final_state = executor.run(circuit)

# Measure the result
measurement_counts = final_state.measure_all(shots=1000)
print("Measurement results:", measurement_counts)
# Expected: {'00': ~500, '11': ~500} (Bell state superposition)

Example: Quantum Algorithm Implementation

# Grover's algorithm for 2-qubit search
def grovers_search():
    circuit = Circuit(2)
    
    # Initialize superposition
    circuit.h(0).h(1)
    
    # Oracle: mark state |11⟩
    circuit.cz(0, 1)
    
    # Diffusion operator
    circuit.h(0).h(1)
    circuit.x(0).x(1)
    circuit.cz(0, 1)
    circuit.x(0).x(1)
    circuit.h(0).h(1)
    
    return circuit

# Execute and measure
circuit = grovers_search()
result = Executor().run(circuit)
counts = result.measure_all(1000)
print(counts)  # Should favor |11⟩ state

Noise Simulation

from noise.channels import DepolarizingChannel

# Create noise model
noise = DepolarizingChannel(p=0.1)  # 10% depolarization probability

# Apply noise to quantum state
noisy_state = noise.apply_stochastic(final_state)

# Compare clean vs noisy measurements
clean_counts = final_state.measure_all(1000)
noisy_counts = noisy_state.measure_all(1000)

print("Clean measurement:", clean_counts)
print("Noisy measurement:", noisy_counts)

Educational Value

quantumsim is specifically designed for learning:

  • Transparent Implementation: All quantum operations are implemented clearly without optimization obfuscation
  • Step-by-Step Execution: Intermediate quantum states can be inspected during circuit execution
  • Visual Circuit Representation: ASCII art shows quantum circuits in a readable format
  • Comprehensive Examples: Covers fundamental quantum algorithms and protocols
  • Noise Modeling: Demonstrates real-world quantum decoherence effects

Performance Characteristics

  • Memory Usage: 2^n complex numbers (16 bytes each) for n qubits
  • Computational Complexity: O(2^n) for n-qubit circuit simulation
  • Practical Limits: Comfortably handles up to 20 qubits on modern laptops
  • Optimization Features: Gate fusion and circuit optimization for improved performance

Architecture

quantumsim/
├── core/           # Core simulation engine
│   ├── circuit.py     # Quantum circuit representation
│   ├── statevector.py # Quantum state management
│   ├── executor.py    # Circuit execution engine
│   └── gates.py       # Quantum gate definitions
├── noise/          # Noise modeling
│   └── channels.py    # Quantum noise channels
├── viz/            # Visualization tools
│   └── ascii.py       # Circuit ASCII representation
├── algorithms/     # Quantum algorithms
├── examples/       # Educational examples
└── docs/           # Documentation

Dependencies

  • numpy: Numerical computations and linear algebra
  • matplotlib: Optional plotting and visualization
  • Python 3.8+: Modern Python features and type hints

License

MIT License - Free for educational and research use.

Contributing

quantumsim welcomes contributions from the quantum computing education community. Areas for contribution include:

  • Additional quantum algorithms implementations
  • Enhanced visualization tools
  • Performance optimizations
  • Educational content and tutorials
  • Quantum error correction examples

Links

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.1.tar.gz (18.5 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.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quantumsim_edu-2.0.1.tar.gz
  • Upload date:
  • Size: 18.5 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.1.tar.gz
Algorithm Hash digest
SHA256 9b7f21ebafd033e37332e6cd796810b6bdbf6c5049790e4a3f043615ebae2eab
MD5 9c9a2eaf1f6dac4b9d3420a7b9dba4b7
BLAKE2b-256 1e03e0b1bacac061caf423a49a6814bbe435026055cad969b8a7509def3fa812

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quantumsim_edu-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d3b8ffb88fe9517577b570fe9ad94e64e518a12ee4ed826411e1c1937814fbcb
MD5 2979920be70d503e7d1a1f31b332f5c6
BLAKE2b-256 7e549a7b1464455044b4ac98d89710f322e6c8df76c346939462b8dd11a832d1

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