A web-based quantum computing laboratory for building circuits, simulating state evolution, and exploring measurement outcomes. Uses classical state-vector simulation methods.
Components for circuit construction, state analysis, and algorithm exploration
Visual interface for constructing quantum circuits using standard gate operations (H, X, Y, Z, CNOT, etc.)
Open →Interactive 3D representation of single-qubit pure states using spherical coordinates (θ, φ)
View complex amplitudes and measurement probabilities for all computational basis states
Classical simulation of quantum state evolution through unitary gate operations
Basic depolarizing and dephasing noise channels for studying decoherence effects (planned)
Export circuits to Qiskit, Cirq, Q#, and other frameworks
Understanding what this simulator can and cannot do
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.
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.
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.
For rigorous study of quantum computing, consult:
Construct circuits and observe quantum state evolution in real-time
Educational implementations of standard quantum algorithms
Demonstrates amplitude amplification for O(√N) unstructured search. Marked state probability increases with each iteration.
Illustrative QFT-based period finding. Full factorization requires more qubits than browser simulation allows.
Core subroutine for phase estimation and many quantum algorithms. Implements unitary transformation to frequency basis.
Parameterized quantum circuit structure used in variational quantum eigensolver for ground state estimation.
Quantum Approximate Optimization Algorithm structure for combinatorial problems. Applies alternating cost and mixer operators.
Simplified demonstration of quantum key distribution protocol using two conjugate bases.
Interactive single-qubit state representation on the unit sphere
Conceptual guides for quantum computing fundamentals
Introduction to qubits, superposition, and entanglement
Master all single and multi-qubit quantum gates
Deep dive into Grover, Shor, and more
Explore the spooky action at a distance
Export your quantum circuits to popular frameworks
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())