flux_hopf_lib
Spine: qga — manuscript + pedagogical Python
Shared math: this repo — SoT for Hopf / quaternion / Hurwitz 24
Engine: qga_engine (scenes, Rust math) · qga_gpu (frame)
This repo: shared primitives. Not QGA book labs and not a GPU runtime.
Shared core library for the Hopf / flux / quaternion / conduit ecosystem
(kinaar8340). Tagged qga and vqc so
topic:qga includes the math core.
Version: 0.3.1 · Role: single source of truth for foundational math.
Hurwitz 24 and Hopf (convention)
q = (x₁, x₂, x₃, x₄) = (w, x, y, z). The 24 Hurwitz units are ±1, ±i, ±j, ±k
(minus then plus on each axis), then (±1±i±j±k)/2 in itertools.product
order (last index fastest). Cardinality 24 is a theorem. That listing order is
a Software fact of this package (HURWITZ_UNITS, fixture hurwitz_units_v1).
Hopf map on those units is the Chapter 2 formula in hopf_map:
y₁=2(x₁x₃+x₂x₄), y₂=2(x₁x₄−x₂x₃), y₃=x₁²+x₂²−x₃²−x₄². Unit input is
not re-normalized by ‖y‖. Fixture hopf_hurwitz_v1. legacy_portal_map
is not Hopf.
Specialized experiments, Gradio portals, and full model stacks stay in consumer repos. Consumers depend on this package, not on each other, for shared primitives.
Dependency direction
flux_hopf_lib (core / SoT)
│
┌─────────┬───────────┼───────────┬──────────┬────────────┬──────────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼
mystery toe vqc_proto hfb kingdom vqc_sims_public vqc_workbench
HF ✓ HF ✓ HF ✓ HF ✓ (parent OAM suite)
- Allowed:
from flux_hopf_lib…, optional sibling imports of specialized models only. - Forbidden:
sys.pathinto../toefor survival/κ math; copy-pasted R residual / Hopf maps.
See docs/DEPENDENCIES.md, docs/ECOSYSTEM.md, and docs/VIZ.md (core Plotly/MPL vs WebGPU companion split).
Install
# Editable (local ecosystem development)
cd ~/Projects/flux_hopf_lib
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# Optional torch quaternion helpers
pip install -e ".[torch]"
Consumer repos:
# Production / HF Spaces / paper reproduction
pip install flux-hopf-lib==0.3.0
# Local core development (editable)
pip install -e ../flux_hopf_lib
# requirements.txt / pyproject.toml / HF Space
flux-hopf-lib==0.3.0
- PyPI: https://pypi.org/project/flux-hopf-lib/
- Publishing: docs/PUBLISHING.md · CHANGELOG.md
Recommended import style
Keep the namespace flat and predictable:
from flux_hopf_lib import PHI, R_RESIDUAL, E_INV2, DEFAULT_KAPPA
from flux_hopf_lib.quaternion import Quaternion, small_rotor, q_mult
from flux_hopf_lib.hopf import (
hopf_map,
hopf_map_from_angles,
sample_fiber_family,
stereographic_project,
toroidal_hopfion_director,
wg_from_base,
)
from flux_hopf_lib.flux import FluxLatticeConfig, FluxFlywheel, gaussian_defect
from flux_hopf_lib.simulation import (
steps_for_lambda_t,
evolve_gauged_twist_survival,
simulate_twist_pde_survival,
compare_to_analogs,
zero_mode_survival_continuous,
)
# Optional visualizations (pip install 'flux-hopf-lib[viz]')
# from flux_hopf_lib.hopf.viz import (
# plot_hopf_fibers_stereographic,
# plot_hopf_fibers_dashboard, # HF-safe 2×2 Plotly
# plot_hopf_s2_fiber_explorer, # S² base picker
# create_plotly_fiber_animation, # Play/Pause frames
# )
# Geometry export for a future WebGPU companion (no viz deps):
# from flux_hopf_lib.hopf import export_fiber_curves
from flux_hopf_lib.conduit import (
ConduitConfig,
GoldenAngleMixin,
GaugePointerMixin,
apply_golden_angle_increment,
)
from flux_hopf_lib.utils import cartesian_grid, laplacian_fft
Leaf repos may keep thin re-export shims for one release cycle
(toe.relaxation_survival, hfb.hopf, orbital_braille.quaternion_codec) so old
imports keep working while you migrate.
Package layout
src/flux_hopf_lib/
constants.py # φ, e, π, R residual, κ defaults, W_g lock
quaternion/ # Quaternion, q_mult, rotors, encode_shard (+ torch_ops)
hopf/ # maps, fibers, stereographic, hopfions, invariants, viz
flux/ # FluxLatticeConfig, gauge steps, defect densities
simulation/ # λt survival, twist PDE, mean-mode ODE, κ sweeps
conduit/ # ConduitConfig, GoldenAngleMixin, GaugePointerMixin
utils/ # cartesian/polar grids, FFT Laplacian
examples/
quickstart.py
consumer_mixin_pattern.py
hopf_viz_demo.py # requires [viz]
Quick start
python examples/quickstart.py
from flux_hopf_lib.simulation import steps_for_lambda_t, evolve_gauged_twist_survival
n = steps_for_lambda_t(lambda_t_target=2.0, kappa=0.85, dt=0.001)
out = evolve_gauged_twist_survival(n_steps=n, n_identities=32, seed=42)
print(out["identity_survival"])
What belongs where
| Object | SoT | Not here |
|---|---|---|
hopf_map (Ch. 2 classical), Quaternion |
this package | a second formula in a visual crate |
HURWITZ_UNITS |
this package | a GPU constant; a second listing in qga-math |
QGA book labs (candidate_adjacency, topograph classifier) |
qga/lib |
this package |
W_g = 350/π |
Hypothesis; attack in op5 |
a lattice theorem |
| In flux_hopf_lib (core) | In leaf repos |
|---|---|
| Quaternion / Rodrigues | Full RubikConeConduit + training (toe) |
| Hopf maps, hopfions, linking | VQC/OAM encoding, ICA demixing (vqc_*) |
| Flux lattice / gauge / defects | Analog-gravity / warp solvers (hfb) |
| λt survival, twist PDE, κ sweeps | Gradio / Streamlit UIs (kingdom, HF Spaces) |
| ConduitConfig + mixins | HF Space storytelling, papers, Ray demos |
| Grids / FFT Laplacian |
Migration status
| Repo | Status |
|---|---|
| mystery | ✓ flux_hopf_lib.simulation (no toe path hacks for survival) |
| toe | ✓ relaxation_survival shim; golden-angle + GaugePointerMixin |
| vqc_proto | ✓ Quaternion codec re-export |
| vqc_sims_public | ✓ quaternion_core re-export |
| hfb | ✓ hopf / grid / defect shims |
| kingdom | ✓ constants + hopf + quaternion for portal demos |
Details: docs/MIGRATION.md.
Development workflow
- Change foundational math only in this repo.
- Run
pytestandpython examples/quickstart.py. - Update CHANGELOG.md; bump version in
pyproject.toml+__init__.py. - Tag a release (
v0.1.x/v0.2.0); CI publishes via Trusted Publishing. - Consumers:
pip install -e ../flux_hopf_libwhile iterating; pin==0.1.0(PyPI) or@v0.1.0(git) for HF / papers.
Tests
pip install -e ".[dev]"
pytest
License
MIT — see LICENSE. This is a copyright license only. It does not license U.S. Provisional Application 63/913,110. See PATENTS.md.
X: @kinaar8340
Ecosystem links
| Repo | URL |
|---|---|
| flux_hopf_lib | https://github.com/kinaar8340/flux_hopf_lib |
| toe | https://github.com/kinaar8340/toe |
| mystery | https://github.com/kinaar8340/mystery |
| hfb | https://github.com/kinaar8340/hfb |
| vqc_proto | https://github.com/kinaar8340/vqc_proto |
| vqc_sims_public | https://github.com/kinaar8340/vqc_sims_public |
| kingdom_come | https://github.com/kinaar8340/kingdom_come |
Metadata
Release files for flux-hopf-lib 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flux_hopf_lib-0.3.1.tar.gz | 54.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flux_hopf_lib-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.9 kB
Release files / flux_hopf_lib-0.3.1.tar.gz
| Download URL | flux_hopf_lib-0.3.1.tar.gz |
|---|---|
| Size | 54.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
466fbd59c773462805494731e97489fe30c50446cd286ab0ca525f872377865f
|
|
BLAKE2b-256 checksum How to use checksums |
b1afe65f3b950e9fe628f3d00fdce3589a5687378965ab65af540a1b1aaa5a19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency logRelease files / flux_hopf_lib-0.3.1-py3-none-any.whl
| Download URL | flux_hopf_lib-0.3.1-py3-none-any.whl |
|---|---|
| Size | 47.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfd17645c9572db3b3a65701713ff3944c46caedf074887387ec47183186ad31
|
|
BLAKE2b-256 checksum How to use checksums |
4ee1de3df54690a54f467d6d77e09ce5f6cafa294ef14cc3e2dfa9b0917bdcf8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.
Transparency log