Skip to main content

A quantum universe simulator with a C-engine

Project description

qbitUni — Quantum Universe Simulator

s/o Gemini....

Installation

git clone https://github.com/imesh97/qbit-universe.git

Setup

Note: This project uses Python 3.13.

Create and run a virtual environment.

python3 -m venv venv
source venv/bin/activate

Tests

python3 tests/gates.py
python3 tests/melinda.py
python3 tests/xy.py
python3 tests/parallel.py
python3 tests/universality.py
python3 tests/teleport.py
python3 tests/grover.py

Running your first simulation

Code

Create script.py file for this test.

# 📚 Import the Quantum Universe from Qbit
from qbitUni import QuantumUniverse

# ⚡ Initialize a 2-qubit Universe
# This allocates the state vector in C memory
univ = QuantumUniverse(2)
univ.print_state() # Print initial state
# (Notice the |00> state only -- as the other |01>, |10>, |11> are all 0 -- we only print probabilities > 0.01%)

# ⊹ Apply a Hadamard gate to Qubit 0
# This puts Qubit 0 into a 50/50 superposition of |0> and |1>
univ.h(0)
univ.print_state() # Print state after Hadamard

# 🎛️ Apply a CNOT (Controlled-NOT) gate
# Control: Qubit 0, Target: Qubit 1
# This 'links' the two qubits together (Entanglement)
univ.cnot(0, 1)
univ.print_state() # Print state after CNOT

# 🧮 Peek at the Math
# Check the probability of the universe being in state |00> or |11>
print(f"Prob of |00>: {univ.get_prob(0):.2f}")
print(f"Prob of |11>: {univ.get_prob(3):.2f}")

# 🌊 Collapse the Wavefunction
# Measuring will force the universe into a single classical state
result = univ.measure_all()
print(f"Final Measurement: {result:02b}")

univ.print_state() # Print state after collapse

Execution

python3 script.py

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

qbituni-0.0.9.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qbituni-0.0.9-cp313-cp313-macosx_10_13_universal2.whl (30.5 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file qbituni-0.0.9.tar.gz.

File metadata

  • Download URL: qbituni-0.0.9.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for qbituni-0.0.9.tar.gz
Algorithm Hash digest
SHA256 6212650ba3a97325fca2db92fde5b0861814b22b8fe2521e44476b4a69267305
MD5 7fcdac42708e6acbad8e88e50a5e89fb
BLAKE2b-256 7d3342aa58bf9a3f855c6c7f44bb838466e8565030495f3dac420b14ec847085

See more details on using hashes here.

File details

Details for the file qbituni-0.0.9-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for qbituni-0.0.9-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f0eaa42820dff00cfd46e899c02ebc0336de997ada36f3d29fc389af95789cba
MD5 d3b26c45a379f2690f74a0ebefd04bfa
BLAKE2b-256 ec2e6a0c63c983bf0dacd0fed5f8a34b2a0b4906319550c061415cf01c88366d

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