Educational Quantum Computing Simulator

Quantum Circuit Simulation & Visualization

A web-based quantum computing laboratory for building circuits, simulating state evolution, and exploring measurement outcomes. Uses classical state-vector simulation methods.

1-8 Qubits (Browser)
16+ Gate Operations
2 State Vector Size
JS 64-bit Float

Simulation & Visualization Tools

Components for circuit construction, state analysis, and algorithm exploration

Bloch Sphere

Interactive 3D representation of single-qubit pure states using spherical coordinates (θ, φ)

State Vector Display

View complex amplitudes and measurement probabilities for all computational basis states

State Vector Simulation

Classical simulation of quantum state evolution through unitary gate operations

Noise Modeling

Basic depolarizing and dephasing noise channels for studying decoherence effects (planned)

Code Export

Export circuits to Qiskit, Cirq, Q#, and other frameworks

Scientific Scope & Limitations

Understanding what this simulator can and cannot do

Simulation Method

This tool uses classical state-vector simulation, storing the full 2ⁿ-dimensional complex state vector in memory. Gate operations are implemented as matrix-vector multiplications. This approach provides exact numerical results within floating-point precision limits.

Scalability Constraints

Browser-based JavaScript limits practical simulation to ~8-10 qubits due to memory constraints (2¹⁰ = 1024 complex amplitudes × 16 bytes ≈ 16KB). Larger systems require optimized backends or tensor network methods not implemented here.

Numerical Precision

Amplitudes are stored as JavaScript 64-bit floating-point numbers (IEEE 754 double precision). For deep circuits, accumulated numerical errors may affect results. This is a pedagogical tool, not a high-precision computational backend.

What This Tool Is For

  • Learning quantum gate operations and circuit construction
  • Visualizing single-qubit states on the Bloch sphere
  • Understanding measurement probability distributions
  • Exploring structure of standard quantum algorithms
  • Generating code templates for Qiskit, Cirq, Q#

What This Tool Is NOT

  • Not a substitute for real quantum hardware
  • Not suitable for cryptographic applications
  • Not a high-performance computing backend
  • Does not include realistic noise models (yet)
  • Cannot simulate quantum advantage problems at scale

References

For rigorous study of quantum computing, consult:

  • Nielsen & Chuang, "Quantum Computation and Quantum Information"
  • Qiskit Textbook (qiskit.org/textbook)
  • IBM Quantum Learning (learning.quantum.ibm.com)

Circuit Builder & State Vector Simulator

Construct circuits and observe quantum state evolution in real-time

Single Qubit Gates

H Hadamard
X Pauli-X
Y Pauli-Y
Z Pauli-Z
S Phase
T T Gate
Rx Rotation X
Ry Rotation Y
Rz Rotation Z

Multi-Qubit Gates

CNOT
CZ Control-Z
SWAP
CCX Toffoli

Measurement

📊 Measure
q[0]
|0⟩
q[1]
|0⟩
q[2]
|0⟩
|000⟩ 1.000 + 0.000i
|001⟩ 0.000 + 0.000i
|010⟩ 0.000 + 0.000i
|011⟩ 0.000 + 0.000i
|100⟩ 0.000 + 0.000i
|101⟩ 0.000 + 0.000i
|110⟩ 0.000 + 0.000i
|111⟩ 0.000 + 0.000i

Quantum Algorithm Demonstrations

Educational implementations of standard quantum algorithms

Grover's Search Algorithm

Demonstrates amplitude amplification for O(√N) unstructured search. Marked state probability increases with each iteration.

Search O(√N)
15 = 3 × 5

Shor's Algorithm (Simplified)

Illustrative QFT-based period finding. Full factorization requires more qubits than browser simulation allows.

Factoring O((log N)³)

Quantum Fourier Transform

Core subroutine for phase estimation and many quantum algorithms. Implements unitary transformation to frequency basis.

Transform O(n²) gates

VQE Ansatz Template

Parameterized quantum circuit structure used in variational quantum eigensolver for ground state estimation.

Variational Hybrid

QAOA Circuit

Quantum Approximate Optimization Algorithm structure for combinatorial problems. Applies alternating cost and mixer operators.

Optimization Hybrid
🔐
🔑

BB84 Key Distribution

Simplified demonstration of quantum key distribution protocol using two conjugate bases.

QKD Protocol

Bloch Sphere Visualization

Interactive single-qubit state representation on the unit sphere

Current State

1.00|0⟩ + 0.00|1⟩
P(|0⟩) = 100%
P(|1⟩) = 0%
|0⟩ |1⟩ |+⟩ |-⟩

Learning Resources

Conceptual guides for quantum computing fundamentals

01

Quantum Basics

Introduction to qubits, superposition, and entanglement

8 Lessons 2 Hours
02

Quantum Gates

Master all single and multi-qubit quantum gates

12 Lessons 3 Hours
03

Quantum Algorithms

Deep dive into Grover, Shor, and more

10 Lessons 4 Hours
04

Quantum Entanglement

Explore the spooky action at a distance

6 Lessons 2 Hours

Export Your Circuits

Export your quantum circuits to popular frameworks

Qiskit Qiskit
Cirq Cirq
Q# Q#
PennyLane PennyLane
from qiskit import QuantumCircuit

qc = QuantumCircuit(3, 3)
qc.h(0)
qc.cx(0, 1)
qc.cx(1, 2)
qc.measure([0, 1, 2], [0, 1, 2])

# Run the circuit
from qiskit import Aer, execute
simulator = Aer.get_backend('qasm_simulator')
result = execute(qc, simulator, shots=1024).result()
print(result.get_counts())