Skip to main content

quantumsim-edu: Educational Quantum Computing Simulator

A lightweight, educational quantum circuit simulator designed for learning```python import quantumsim as qs

Create a Bell state

circuit = qs.Circuit(2) circuit.h(0) circuit.cx(0, 1)

Execute the circuit

executor = qs.Executor() statevector = executor.run(circuit) result = statevector.measure_all(shots=1000) print(result) # {'00': ~500, '11': ~500}

## How quantumsim Works

quantumsim uses **statevector simulation** to model quantum systems:

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

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

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

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

## Installation

```bash
pip install quantumsim-edu

🔧 How to Import and Use

Basic Imports

# For users who installed via pip install quantumsim-edu
from quantumsim import Circuit, Executor, print_circuit, GATES
from quantumsim.core import Statevector
from quantumsim.noise import DepolarizingChannel

Quick Start

from quantumsim import Circuit, Executor, print_circuit

# Create a 2-qubit circuit
circuit = Circuit(2)
circuit.h(0)        # Hadamard gate on qubit 0
circuit.cx(0, 1)    # CNOT gate: control=0, target=1

# Visualize the circuit
print_circuit(circuit)

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

# Get measurement results
counts = result.measure_all(shots=1000)
print(f"Bell state measurements: {counts}")
# Expected output: {'00': ~500, '11': ~500}

💻 Advanced Examples

Grover's Search Algorithm

from quantumsim import Circuit, Executor

def grovers_algorithm(target_state="11"):
    """Grover's algorithm to find a marked state in a 2-qubit system"""
    circuit = Circuit(2)
    
    # Initialize superposition
    circuit.h(0).h(1)
    
    # Oracle - mark the target state |11⟩
    if target_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 Grover's algorithm
circuit = grovers_algorithm()
result = Executor().run(circuit)
counts = result.measure_all(1000)
print(f"Grover's results: {counts}")  # Should favor |11⟩

Quantum Noise Simulation

from quantumsim.noise import DepolarizingChannel

# Create a Bell state
circuit = Circuit(2)
circuit.h(0).cx(0, 1)

executor = Executor()
clean_state = executor.run(circuit)

# Apply noise
noise = DepolarizingChannel(p=0.1)  # 10% noise
noisy_state = noise.apply_stochastic(clean_state)

# Compare measurements
clean_counts = clean_state.measure_all(1000)
noisy_counts = noisy_state.measure_all(1000)

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

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

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)


## License

MIT License - Free for educational and research use.

Release files for quantumsim-edu 2.0.3

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

Source distribution (sdist)

Source distribution for quantumsim-edu 2.0.3
File Size Uploaded
quantumsim_edu-2.0.3.tar.gz 17.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quantumsim-edu 2.0.3
File Interpreter ABI Platform
quantumsim_edu-2.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 35.8 kB

Release files / quantumsim_edu-2.0.3.tar.gz

Download URL quantumsim_edu-2.0.3.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ad3e53f73457f576b4e09cfa42d5617bd6eded42c3873b9315d7a6d71e051e6f
BLAKE2b-256 checksum
How to use checksums
df77ea97eec35903373f5192f400b50945342f6d07ad18082c375cdd6cfe4293
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release files / quantumsim_edu-2.0.3-py3-none-any.whl

Download URL quantumsim_edu-2.0.3-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f2d2aca86737b6c525ae0ef83f1046db899024a84188ea8b451ecae403514ab
BLAKE2b-256 checksum
How to use checksums
1c36286f02356050e80cb0b4e57ba291a234055190e12eb54990a6f871d47413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

2.0.3 This release

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

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