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
pip install -r requirements.txt

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.

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.8.tar.gz (11.5 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.8-cp313-cp313-macosx_10_13_universal2.whl (27.0 kB view details)

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

File details

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

File metadata

  • Download URL: qbituni-0.0.8.tar.gz
  • Upload date:
  • Size: 11.5 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.8.tar.gz
Algorithm Hash digest
SHA256 e8ba1643d4ca556c501a5fc8254b88f077ab16d343581311f1870844bbfa3d17
MD5 962650fdfec60cb27ad96d7ba942651f
BLAKE2b-256 76401526a8a2437fd08eaa6b37d9062e5a0a8c32dd7d86c8ba33d32412f1cd5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for qbituni-0.0.8-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b6f4a3765e25375eecac8c8df0a6c1a69b51ac4c988a7f63fd45bab149315a24
MD5 700e495f7f9ae5f0a729ee730ef10aa0
BLAKE2b-256 0e3d57c02accd3894aa2a5e7ed72c3f891dea2da605347ad16f45d799978f668

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