Information-theoretic reconstruction of quantum wavefunctions from discrete bitstrings
Project description
QBitwave
Python class to model quantum-like dynamics as the deterministic evolution of compressibility in finite bitstrings.
Install
pip install qbitwave
https://pypi.org/project/qbitwave/
Description
The wavefunction ψ is interpreted not as a physical field but as the minimal compression algorithm that reproduces a given informational state. Existence corresponds to compressibility — the most compressible configurations dominate.
A finite bitstring encodes a discretized wavefunction, which can be reconstructed as normalized complex amplitudes. Conceptually, the bitstring is like a “measurement” of the wavefunction: many wavefunctions may correspond to the same bitstring, but each wavefunction carries richer structure in amplitude and phase.
Through Fourier-domain transformations and entropy measures, QBitwave unifies bitstrings, complex amplitudes, and probabilistic behavior into a single information-centric framework.
Fundamental Principles
- Compression → quantum probability amplitude → predictability (smooth, emergent laws of physics)
- Smooth, regular data compresses well → high amplitude in few Fourier components (low entropy)
- Random/noisy data is incompressible → low amplitude concentration
- Wavefunction = minimal spectral description reproducing the bitstring
- Phase structure contributes to wavefunction complexity; rapid phase variation increases informational cost
Features
- Forward mapping: wavefunction → bitstring
- Reverse mapping: bitstring → minimal complex wavefunction
- Phase-aware spectral complexity measure (
wave_complexity()) - Block-size selection via entropy maximization
- Shannon entropy computation
- Fourier-based compressibility measure reflecting structure
- Deterministic evolution driven by minimal spectral complexity
QBitwaveMDL
This is new rewritten version of QBitwave, with refined spectral complexity measure and old experimental and legacy code stripped.
QBitwaveND
Experimental. QBitwaveND generalizes QBitwave to N-dimensional continuous fields and allows dynamical evolution in time.
| Conceptual Relation |
|---|
QBitwave → Emergence: bitstring → ψ(x) |
QBitwaveND → Evolution: ψ(x) → ψ(x, t) |
QBitwaveND applies unitary, physically motivated evolution consistent with the Schrödinger free-particle dispersion relation, but framed entirely informationally:
- Take N-dimensional complex amplitude array ψ(x₁, x₂, …, xₙ)
- Compute Fourier transform:
ψ̃(k) = FFT[ψ(x)] / ∏ shape - Apply time evolution in frequency space:
ψ̃(k, t) = ψ̃(k) · exp(-i·ω(k)·t), where ω(k) = (ħ |k|²) / 2m - Inverse transform to get ψ(x, t)
Interpretation:
- Time is an informational parameter — the phase evolution of encoded structure
- Provides unitary time evolution over emergent informational geometry, extending static ψ(x) of
QBitwaveto ψ(x, t)
Attributes:
amplitudes: N-dimensional complex array ψ(x) at t=0shape: spatial dimensions of the arrayndim: number of spatial dimensionsfft_coeffs: normalized Fourier coefficients ψ̃(k)freqs: per-axis frequency arraysmass: effective mass parameter (ħk² / 2m)c: speed of light (for optional relativistic corrections)hbar: reduced Planck constant
Key Methods:
from_array(data_array): construct from existing N-D arrayfrom_qbitwave(qb: QBitwave): create N-D field from a 1D informational wavefunctiontime_evolve_coeffs(t): return Fourier coefficients after time evolutionevaluate(*coords, t=0.0): compute ψ(x, t) at arbitrary coordinatesprobability(*coords, t=0.0): return |ψ(x, t)|² (Born-rule analog)
Example Usage
from qbitwave import QBitwave, QBitwaveND
# Create a 1D informational wavefunction
qb = QBitwave("010110110001")
# Lift it to N-dimensional dynamic field
qn = QBitwaveND.from_qbitwave(qb)
# Evaluate amplitude at x=0.2, t=0.5
psi_t = qn.evaluate(0.2, t=0.5)
# Compute probability (Born rule analog)
P = qn.probability(0.2, t=0.5)
Images
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
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 qbitwave-0.3.3.tar.gz.
File metadata
- Download URL: qbitwave-0.3.3.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8af00cfc666c7bd76a2cc39f8d98c8d977896b24164622be81e7106744ccb013
|
|
| MD5 |
853ecf21087bb43d518846cbf1bcd5e0
|
|
| BLAKE2b-256 |
1e54dbc8f905cd0be59b209e2c53aad3f3b3f55ba9fca08a5e4acde812d5f79c
|
File details
Details for the file qbitwave-0.3.3-py3-none-any.whl.
File metadata
- Download URL: qbitwave-0.3.3-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22f21e3efc7fa6d7ba939feffa0ba86e6b9a81aba5b56232161db8bafdd8ff66
|
|
| MD5 |
88a4e03f1544858aa5c8a7e186fde520
|
|
| BLAKE2b-256 |
7ef325b7a03d3306cb4909a8ec591fa334e258e1698abb74919b0a9f03b0dd80
|