Skip to main content

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.

PyPI PyPI - Python Version License: MIT CI

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.path into ../toe for 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

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

  1. Change foundational math only in this repo.
  2. Run pytest and python examples/quickstart.py.
  3. Update CHANGELOG.md; bump version in pyproject.toml + __init__.py.
  4. Tag a release (v0.1.x / v0.2.0); CI publishes via Trusted Publishing.
  5. Consumers: pip install -e ../flux_hopf_lib while 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

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)

Source distribution for flux-hopf-lib 0.3.1
File Size Uploaded
flux_hopf_lib-0.3.1.tar.gz 54.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flux-hopf-lib 0.3.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page