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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6212650ba3a97325fca2db92fde5b0861814b22b8fe2521e44476b4a69267305
|
|
| MD5 |
7fcdac42708e6acbad8e88e50a5e89fb
|
|
| BLAKE2b-256 |
7d3342aa58bf9a3f855c6c7f44bb838466e8565030495f3dac420b14ec847085
|
File details
Details for the file qbituni-0.0.9-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: qbituni-0.0.9-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 30.5 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0eaa42820dff00cfd46e899c02ebc0336de997ada36f3d29fc389af95789cba
|
|
| MD5 |
d3b26c45a379f2690f74a0ebefd04bfa
|
|
| BLAKE2b-256 |
ec2e6a0c63c983bf0dacd0fed5f8a34b2a0b4906319550c061415cf01c88366d
|