Files
quantum-math-lab/tests/test_quantum_simulator.py
Alexa Amundson 1e09d4eb13 sync: update from blackroad-operator 2026-03-14
Synced from BlackRoad-OS-Inc/blackroad-operator/orgs/personal/quantum-math-lab
BlackRoad OS — Pave Tomorrow.

RoadChain-SHA2048: 3953a51987e52401
RoadChain-Identity: alexa@sovereign
RoadChain-Full: 3953a51987e5240180a66882451695f670a88e3608ba1b17bf8a561ba9334c1654e614d01bc2fa7b71b2f5846ce59a7c566be6ebe1d5f406ec50604dde23561670b4c583f26d20a90beb0b9ff1b5a4bf8203bf9104df70fdba17039df0c604a62e21f1b2a0742c288e87d45eb9a6d510632ad3df8855bf0d1dfbf1d3ad53594bb0f2ce9eb9d7bde23c40db09c9c61fddab63fd526869297f5790f3c0f4b27aea59f74b4c90fb108aebdf50693a1897928a38b7e18256ecb8390dc02d09042c3e0a43d838b25b2e17100a7dd9233b3b2cb9ee9abdd35a2267c3ad28fbb7dd8b834ebcb7c9339cd331c68599c2c62b96629ef9a83e07cbf97a35adbd4e5599f366
2026-03-14 15:09:59 -05:00

62 lines
1.9 KiB
Python

import numpy as np
import pytest
from quantum_simulator import QuantumCircuit
def test_hadamard_creates_equal_superposition():
circuit = QuantumCircuit(1)
circuit.hadamard(0)
probs = circuit.probabilities()
assert probs["0"] == pytest.approx(0.5, abs=1e-8)
assert probs["1"] == pytest.approx(0.5, abs=1e-8)
def test_pauli_x_flips_ground_state():
circuit = QuantumCircuit(1)
circuit.pauli_x(0)
probs = circuit.probabilities()
assert probs["1"] == pytest.approx(1.0)
assert probs["0"] == pytest.approx(0.0)
def test_cnot_creates_bell_state():
circuit = QuantumCircuit(2)
circuit.hadamard(0)
circuit.cnot(0, 1)
probs = circuit.probabilities()
assert probs["00"] == pytest.approx(0.5, abs=1e-8)
assert probs["11"] == pytest.approx(0.5, abs=1e-8)
assert probs["01"] == pytest.approx(0.0, abs=1e-8)
assert probs["10"] == pytest.approx(0.0, abs=1e-8)
def test_partial_measurement_collapses_state():
rng = np.random.default_rng(seed=7)
circuit = QuantumCircuit(2)
circuit.hadamard(0)
circuit.cnot(0, 1)
result = circuit.measure(qubits=[0], shots=1, rng=rng)
assert result.total_shots() == 1
assert set(result.counts).issubset({"0", "1"})
probs = circuit.probabilities()
if result.counts.get("0", 0) == 1:
assert probs["00"] == pytest.approx(1.0)
assert probs["11"] == pytest.approx(0.0)
else:
assert probs["11"] == pytest.approx(1.0)
assert probs["00"] == pytest.approx(0.0)
def test_measurement_statistics_match_probabilities():
rng = np.random.default_rng(seed=11)
circuit = QuantumCircuit(1)
circuit.hadamard(0)
shots = 400
result = circuit.measure(shots=shots, rng=rng)
zero_fraction = result.counts.get("0", 0) / shots
one_fraction = result.counts.get("1", 0) / shots
assert zero_fraction == pytest.approx(0.5, rel=0.1)
assert one_fraction == pytest.approx(0.5, rel=0.1)