Skip to content

Commit bf3d804

Browse files
author
TNFR AI Agent
committed
Add the conservation/Lyapunov clock as the fifth face of lambda_2 (example 129)
Example 129 measured four faces of the spectral gap lambda_2 (relaxation, Cheeger, the U2 instability threshold, the co-emergent tree). Adds a fifth measured face: the conservation/Lyapunov energy relaxes on the SAME clock. analyze_spectral_gap's diffusion_gap = lambda_2(L_sym) equals the structural-diffusion lambda_2 on every test graph (match=True), while the combinatorial lambda_2(D-A) differs (e.g. K8: 1.14 vs 8.0 = factor d), tying the conservation Lyapunov relaxation to the unified clock of theorem 8.6. Also updates example 135's notes: the diffusion H-theorem is a distinct functional from the tetrad Lyapunov energy but shares the canonical relaxation clock nu_f*lambda_2(L_sym) (theorem 8.6). Updates examples/README.md (129: four -> five faces). Examples run clean; no src/test change.
1 parent 9e6e784 commit bf3d804

3 files changed

Lines changed: 64 additions & 12 deletions

File tree

examples/08_emergent_geometry/129_spectral_gap_base_fiber_clock.py

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
which is what drives the fiber substrate. This example measures the four faces of
1111
that clock, and closes the loop with the co-emergent footing of example 128.
1212
13-
The four faces of lambda_2 (all canonical)
13+
The five faces of lambda_2 (all canonical)
1414
------------------------------------------
1515
1. RELAXATION RATE. The slowest linear-field decay rate is nu_f*lambda_2: the
1616
non-uniform modes decay as exp(-nu_f*lambda_k*t), and the spectral gap is
@@ -26,6 +26,10 @@
2626
(example 128) is a spanning TREE; trees are the weakest-connected spanning
2727
structures, so they have the SMALLEST lambda_2 -- the slowest, most fragile
2828
base->fiber clock. The dynamics settles on the weakest self-consistent base.
29+
5. THE LYAPUNOV CLOCK. The same nu_f*lambda_2 is the relaxation rate of the
30+
structural Lyapunov energy's gradient sectors, via the proven diffusion
31+
H-theorem (theorem 8.6). The conservation/Lyapunov module exposes it as
32+
diffusion_gap = lambda_2(L_sym), NOT the combinatorial lambda_2(D-A).
2933
3034
Doctrine compliance
3135
-------------------
@@ -35,7 +39,7 @@
3539
Fiedler cut from `fiedler_partition`; the co-emergent tree from the canonical
3640
REMESH helper `_mst_edges_from_epi`. Nothing is imposed.
3741
38-
Four measured results
42+
Five measured results
3943
---------------------
4044
M1 lambda_2 IS THE CLOCK. The canonical verify confirms nu_f*lambda_2 is the
4145
slowest relaxation rate on a path, a cycle and a complete graph. Small gap
@@ -57,6 +61,12 @@
5761
on the weakest-connected self-consistent structure -- the slowest base->fiber
5862
clock.
5963
64+
M5 lambda_2 IS ALSO THE LYAPUNOV CLOCK. analyze_spectral_gap's diffusion_gap
65+
(the conservation/Lyapunov relaxation rate) equals the structural-diffusion
66+
lambda_2 on every test graph, while the combinatorial lambda_2(D-A) differs:
67+
the four faces above and the conservation Lyapunov share ONE clock
68+
(theorem 8.6).
69+
6070
Honest scope
6171
------------
6272
The four faces of lambda_2 are standard spectral graph theory (relaxation,
@@ -76,6 +86,8 @@
7686
- examples/08_emergent_geometry/126_two_layers_base_fiber.py (the two-layer optic)
7787
- examples/08_emergent_geometry/128_base_substrate_coemergence.py (the tree attractor)
7888
- examples/08_emergent_geometry/112_structure_predicts_coherence_flow.py (nu_f*lambda_2)
89+
- src/tnfr/physics/lyapunov.py (analyze_spectral_gap: diffusion_gap = lambda_2(L_sym))
90+
- theory/STRUCTURAL_CONSERVATION_THEOREM.md section 8.6 (the relaxation-rate identity)
7991
- AGENTS.md "Transport Content of the Nodal Equation" (the dispersion relation, U2)
8092
"""
8193

@@ -98,6 +110,7 @@
98110
structural_eigenmodes,
99111
verify_structural_diffusion,
100112
)
113+
from tnfr.physics.lyapunov import analyze_spectral_gap
101114

102115
NXMOD, _ = _get_networkx_modules()
103116

@@ -254,6 +267,40 @@ def experiment_4_coemergent_tree():
254267
print(" on the weakest-connected self-consistent base = the slowest clock.")
255268

256269

270+
def experiment_5_lyapunov_clock():
271+
"""M5: the same lambda_2 is the conservation/Lyapunov relaxation clock."""
272+
print()
273+
print("=" * 74)
274+
print("EXPERIMENT 5: lambda_2 Is Also the Conservation/Lyapunov Clock (8.6)")
275+
print("=" * 74)
276+
print("The structural Lyapunov energy's gradient sectors relax by the proven")
277+
print("diffusion H-theorem at rate nu_f*lambda_2 -- the SAME clock. The")
278+
print("conservation/Lyapunov module (analyze_spectral_gap) exposes it as")
279+
print("diffusion_gap = lambda_2(L_sym), NOT the combinatorial lambda_2(D-A).")
280+
print()
281+
print(f" {'graph':18s} {'diffusion l2':>13} {'Lyapunov gap':>13} "
282+
f"{'combinatorial':>14} {'match?':>7}")
283+
cases = [
284+
("path P12", nx.path_graph(12)),
285+
("barbell (2 K5)", nx.barbell_graph(5, 0)),
286+
("cycle C12", nx.cycle_graph(12)),
287+
("complete K8", nx.complete_graph(8)),
288+
]
289+
for name, G in cases:
290+
for nd in G.nodes():
291+
set_attr(G.nodes[nd], ALIAS_VF, 1.0)
292+
ev, _ = structural_eigenmodes(G)
293+
lam2 = float(ev[1])
294+
sg = analyze_spectral_gap(G)
295+
match = abs(lam2 - sg.diffusion_gap) < 1e-9
296+
print(f" {name:18s} {lam2:>13.4f} {sg.diffusion_gap:>13.4f} "
297+
f"{sg.spectral_gap:>14.4f} {str(match):>7}")
298+
print()
299+
print(" -> the diffusion lambda_2 and the Lyapunov diffusion_gap are the")
300+
print(" SAME (match=True); the combinatorial gap differs. The four faces")
301+
print(" above and the conservation Lyapunov share ONE clock (8.6).")
302+
303+
257304
def main():
258305
print()
259306
print(" TNFR Example 129: The Spectral Gap Is the Base->Fiber Coupling Clock")
@@ -264,19 +311,22 @@ def main():
264311
experiment_2_cheeger()
265312
experiment_3_threshold()
266313
experiment_4_coemergent_tree()
314+
experiment_5_lyapunov_clock()
267315
print()
268316
print("=" * 74)
269317
print("WHAT THIS ESTABLISHES")
270318
print("=" * 74)
271319
print("The spectral gap lambda_2 is the base->fiber COUPLING CLOCK of the")
272-
print("two-layer optic (example 126), with four canonical faces: (1) the")
320+
print("two-layer optic (example 126), with five canonical faces: (1) the")
273321
print("slowest relaxation rate nu_f*lambda_2 (the clock); (2) the Cheeger")
274322
print("bottleneck (lambda_2 set by the network's weakest cut, the Fiedler")
275323
print("partition); (3) the instability threshold r_c = nu_f*lambda_2 (the")
276324
print("dispersion relation, the spectral form of grammar U2); and (4) the")
277325
print("co-emergent tree (example 128) has the SMALLEST gap -- the slowest,")
278326
print("most fragile clock, on which the nodal dynamics self-consistently")
279-
print("settles. HONEST SCOPE: the four faces are standard spectral graph")
327+
print("settles; and (5) the conservation/Lyapunov energy relaxes on this")
328+
print("SAME clock (theorem 8.6, diffusion_gap = lambda_2(L_sym)).")
329+
print("HONEST SCOPE: the five faces are standard spectral graph")
280330
print("theory (relaxation, Cheeger, linear stability) re-expressed in the")
281331
print("canonical operator; the Cheeger bound uses the Fiedler-cut conductance")
282332
print("as a bottleneck proxy (the exact constant is NP-hard); the")

examples/08_emergent_geometry/135_arrow_of_time_h_theorem.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,12 @@
5757
time / second law is one of the most empirically-established phenomena in physics
5858
(Clausius, Boltzmann). This re-expresses the irreversibility of the diffusion
5959
equation -- which we established IS the nodal EPI channel (ex 99, 134) -- in
60-
thermodynamic language. It is distinct from the tetrad Lyapunov energy
61-
(conservation.py) and the Lindblad / Von Neumann entropy
62-
(dissipative_conservation.py). It is not new mathematics and closes no open
63-
problem.
60+
thermodynamic language. It is a distinct functional from the tetrad Lyapunov
61+
energy (conservation.py) and the Lindblad / Von Neumann entropy
62+
(dissipative_conservation.py), though it shares the canonical relaxation clock
63+
nu_f*lambda_2(L_sym) with the tetrad Lyapunov energy (theorem 8.6 of
64+
STRUCTURAL_CONSERVATION_THEOREM.md). It is not new mathematics and closes no
65+
open problem.
6466
6567
References
6668
----------
@@ -256,9 +258,9 @@ def main():
256258
print("provable (Lyapunov functionals of the heat semigroup), and the second")
257259
print("law / arrow of time is empirically ironclad (Clausius, Boltzmann). It")
258260
print("re-expresses the irreversibility of the EPI diffusion channel (ex 99,")
259-
print("134) in thermodynamic language; distinct from the tetrad Lyapunov energy")
260-
print("(conservation.py) and the Lindblad / Von Neumann entropy")
261-
print("(dissipative_conservation.py). Not new mathematics, closes no open problem.")
261+
print("134) in thermodynamic language; a distinct functional from the tetrad")
262+
print("Lyapunov energy (conservation.py) but sharing its relaxation clock")
263+
print("nu_f*lambda_2(L_sym) (theorem 8.6). Not new mathematics, closes no problem.")
262264

263265

264266
if __name__ == "__main__":

examples/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ Helmholtz–Hodge orthogonality, generating structure, flow prediction.
111111
- `126` the two layers of emergent geometry (crystallizes the node=substrate optic: BASE layer (topology — L_rw, λ₂, R_eff, Kron; state-independent) + FIBER layer (state — the per-node symplectic substrate; state-dependent), bridged by the nodal equation (ΔNFR_epi=−L_rw·EPI exactly). The reorganization map: arithmetic was a BASE property (so the fiber was blind), the 13 operators act on the FIBER (line E), λ₂ is the base→fiber coupling clock (line C))
112112
- `127` is the base emergent-TNFR or imposed graph theory? (the doctrinal check on 126's "spectral graph theory": MEASURED — (M1) the operator is TNFR-derived, ΔNFR=−L_rw·EPI exactly but NOT −L_comb·EPI (the nodal neighbour-MEAN forces the degree-normalized L_rw, not the generic combinatorial Laplacian); (M2) no free parameters; (M3) the topology itself can EMERGE from the EPI substrate via the canonical REMESH _mst_edges_from_epi. Verdict: the base is NOT imposed graph theory — only the initial connectivity is a boundary condition, the operator is canonical and the topology is substrate-regenerable)
113113
- `128` the base co-emerges with the substrate (the paradigm-faithful deepening of 127's M3: closes the loop topology→(nodal eq)→substrate→(REMESH MST)→topology and reaches a SELF-CONSISTENT fixed point T=MST(EPI(T)) (Jaccard 1.0). The imposed initial topology is largely washed out (fixed point = a substrate-derived spanning tree, 10–24% survives); the fixed point is NOT unique (different initial topologies → different co-emergent attractors, Jaccard 0.37–0.73), so the initial connectivity is a basin-selecting boundary condition. Both base AND fiber co-emerge from the nodal equation — the faithful footing for lines C and E)
114-
- `129` the spectral gap is the base→fiber coupling clock (line C: λ₂ is a BASE quantity but the CLOCK of the base→fiber coupling, with four canonical faces — (M1) relaxation rate νf·λ₂, (M2) Cheeger bottleneck h²/2≤λ₂≤2h via the Fiedler cut, (M3) instability threshold r_c=νf·λ₂ = the spectral form of grammar U2, (M4) the co-emergent tree of ex 128 has the smallest gap = the slowest clock; standard spectral graph theory re-expressed, Cheeger proxy is the Fiedler cut)
114+
- `129` the spectral gap is the base→fiber coupling clock (line C: λ₂ is a BASE quantity but the CLOCK of the base→fiber coupling, with five canonical faces — (M1) relaxation rate νf·λ₂, (M2) Cheeger bottleneck h²/2≤λ₂≤2h via the Fiedler cut, (M3) instability threshold r_c=νf·λ₂ = the spectral form of grammar U2, (M4) the co-emergent tree of ex 128 has the smallest gap = the slowest clock, (M5) the conservation/Lyapunov energy relaxes on this SAME clock — diffusion_gap=λ₂(L_sym), theorem 8.6; standard spectral graph theory re-expressed, Cheeger proxy is the Fiedler cut)
115115
- `130` the operators act on the fiber (line E, ARC CLOSER: the 13 canonical operators act on the symplectic substrate, and the dual-lever (ex 37) predicts which conserved-charge SECTOR each breaks — pure ΔNFR destabilizers (OZ/THOL/ZHIR/NAV)+NUL break ONLY the potential sector (|dE_geo|=0 exact), UM collapses the geometric sector Ψ, IL touches both (aligns phase current), AL/EN/RA/SHA/VAL/REMESH preserve all charges. The operator classification IS the substrate's conserved-charge sector map — operator algebra and emergent geometry are one structure)
116116
- `131` the co-emergent loop always converges (a new direction opened by the arc: the closed base⊗fiber loop topology→(nodal eq)→substrate→(canonical REMESH)→topology, run freely with every canonical mode (mst/knn/community), CONVERGES to a fixed point — never cycles, never diverges (36/36 mst, 34/36 knn, 0 cycles/divergences). This is grammar U2 (convergence/boundedness) lifted from the field to the full base⊗fiber system; honest caveats: MST convergence is trivial, community collapses onto EPI communities, the U2 link is an observed inheritance not a derivation)
117117
- `132` geometric phase / holonomy on the substrate (the per-node substrate doublet ζ=(K_φ+i·J_φ, Φ_s+i·J_ΔNFR) is a Poincaré-sphere point (ex 106); the geometric phase accumulated around a loop of substrate states equals +½ the enclosed solid angle — the BARGMANN INVARIANT arg(⟨ψ₁|ψ₂⟩⟨ψ₂|ψ₃⟩⟨ψ₃|ψ₁⟩)=½·Ω, an EXACT CP¹ identity (M1, 7/7 to ~1e-17), gauge-invariant hence genuinely GEOMETRIC (M2, invariant under ψ→e^{iα}ψ per node), realized as the closed-loop holonomy (M3, 4/4 exact). HONEST SCOPE: this is the Pancharatnam phase of CLASSICAL polarization optics (Pancharatnam 1956, empirically established) and an exact provable identity — NOT a quantum Berry phase, NOT a qubit (the substrate is a classical wave polarization texture, product state, no entanglement); emerges from the canonical substrate, verifies the identity, not new mathematics, closes no open problem)

0 commit comments

Comments
 (0)