S_A / S_V Entropy Duality - GenesisAeon Package 36 - Standalone Foundational Module
Project description
sa-sv-duality
S_A / S_V Entropy Duality -- GenesisAeon Package 36
Standalone foundational module implementing the duality between Action Entropy (S_A) and Volume Entropy (S_V) -- the mathematical core underlying diffusive routing (P30), the unified GenesisAeon Lagrangian, and the AFET field equations.
The Duality
S_A = integral of sigma_s(H,Gamma) dt (entropy produced along a path)
S_V = -integral p(H) ln p(H) dH (Shannon entropy of state distribution)
S_A * S_V = const (along the optimal UTAC trajectory)
Lagrangian interpretation:
L = T - V + Phi(H) + Gamma(C,R,E,P)
^^^^^^^^^^ ^^^^^^^^^^^^^
S_A coupling S_V coupling
The variational principle delta(S_A - lambda * S_V) = 0 reproduces the UTAC ODE --
this is the deepest formulation of the GenesisAeon dynamics.
Installation
pip install sa-sv-duality
# or
uv tool install sa-sv-duality
Usage
CLI
# Run a full S_A/S_V cycle (Gamma = 0.251, sigma = 2.2)
sav run
# Custom parameters
sav run --gamma 0.46 --sigma 2.2 --duration 20
# Show S_A, S_V for all 16 Q4 states
sav q4-map
# Find the optimal entropy path through Q4 state space
sav route 0 15 --lambda 1.0
# Run benchmarks
sav benchmark
sav benchmark --fast
Python API
from sa_sv_duality import SAVDuality, ActionEntropy, VolumeEntropy, Q4SAVMap
# Full Diamond interface
system = SAVDuality(gamma=0.251, sigma=2.2)
result = system.run_cycle(duration_years=10.0)
print(result["S_A"], result["S_V"], result["duality_constant"])
# CREP state
print(system.get_crep_state()) # {"C": ..., "R": ..., "E": ..., "P": ..., "Gamma": 0.251}
# Q4 entropy map
q4 = system.q4_entropy_map() # {0: (S_A, S_V), ..., 15: (S_A, S_V)}
# Optimal path through Q4 space (= diffusive routing from P30)
path = system.optimal_path(start=0, end=15)
# Zenodo-compatible record
record = system.to_zenodo_record()
# Lower-level components
ae = ActionEntropy()
t, H = ae.generate_trajectory(H0=0.1, T=10.0)
S_A = ae.integrate(H.tolist(), times=t.tolist())
sv = VolumeEntropy()
S_V = sv.from_trajectory(H.tolist())
print(S_A * S_V) # duality constant
Module Structure
src/sa_sv_duality/
__init__.py -- public API
constants.py -- Phi, sigma_UTAC, Gamma_universal, Q4 constants
action_entropy.py -- S_A = integral sigma_s(H,Gamma) dt
volume_entropy.py -- S_V = -integral p*ln(p) + Q4 discrete entropies
duality_relation.py -- S_A * S_V conservation + hyperbola geometry
lagrangian_bridge.py -- Phi(H) = S_A coupling, Gamma = S_V coupling
variational.py -- delta(S_A - lambda*S_V) = 0 solver
q4_sav_map.py -- (S_A, S_V) for all 16 Q4 states
network_routing.py -- SAV-optimal routing via modified Dijkstra
system.py -- Diamond interface (run_cycle, CREP/UTAC state)
cli.py -- `sav` CLI
benchmark.py -- Package 36 benchmark targets
Q4 State Entropy Map
Each of the 16 Q4 states (4-bit encoding of C/R/E/P activation) carries a characteristic (S_A, S_V) pair:
| State | Bits | S_V | Meaning |
|---|---|---|---|
| 0 | 0000 | 0.000 | No active channels |
| 1 | 0001 | 0.693 | C only (coherence) |
| 15 | 1111 | 1.609 | All channels active |
S_V ordering: monotone non-decreasing with number of active bits. S_A ordering: depends on effective Gamma of each state.
Benchmark Targets (from Feldtheorie Preprint)
| Target | Expected | Tolerance |
|---|---|---|
| duality_constant_stability | True | -- |
| routing_improvement_vs_dijkstra | 10% | +/-8% |
| q4_entropy_ordering | True | -- |
| lagrangian_consistency | True | -- |
| variational_minimum | True | -- |
Connection to Other Packages
| Package | Connection |
|---|---|
| P30 diffusive-routing | route = argmin S_A + argmax S_V |
| P31 vrig-cosmological | v_RIG = information-geometric speed in S_A/S_V space |
| P32 beta-clustering | beta_domain proportional to S_A/S_V ratio |
| P34 afet-tensions | H0_eff(beta) driven by S_A / S_V hierarchy |
| P37 eml-utac-bridge | EML operator encodes L = T-V + S_A + S_V |
| P38 phi-validator | Phi^(1/3) scaling in S_A/S_V Q4 entropy ratios |
Development
git clone https://github.com/GenesisAeon/sa-sv-duality.git
cd sa-sv-duality
uv sync --dev
uv run pytest
Citation
DOI will be assigned automatically on first GitHub Release once Zenodo–GitHub integration is enabled for this repo.
Reference: Johann Roemer * MOR Research Collective * Mai 2026 DOI: 10.5281/zenodo.17472834 UTAC v1.0: 10.5281/zenodo.17472834
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 sa_sv_duality-1.0.0.tar.gz.
File metadata
- Download URL: sa_sv_duality-1.0.0.tar.gz
- Upload date:
- Size: 116.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
453db09ca9381f8ee83e0e401ad02e8fcb4806757d0c525c5e49c505058064c1
|
|
| MD5 |
d1d16688a5df3246a84b3e15650980f5
|
|
| BLAKE2b-256 |
c62983765789a4896ee50a78774ad0896e1ce1f6fa378eb0544717bbb940a4fc
|
File details
Details for the file sa_sv_duality-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sa_sv_duality-1.0.0-py3-none-any.whl
- Upload date:
- Size: 35.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95eb61f4844112b66479ccf9a52a77b4ce6c7671386147d63c4e273081f95a92
|
|
| MD5 |
0acbef7405c04f723d3adabdcbcb1b87
|
|
| BLAKE2b-256 |
5a38f58b7b6eb66f79fff2f6f52e243d9a599817d3f83064c7279f6f6a3890b7
|