p9.py โ€” src/27-fields

The file src/27-fields/p9.py of the validation package of the paper 27-fld, rendered with an anchor per line; the file itself is beside this page.

27-fields ledgersrc/27-fields/p9.py ยท 3.1 KBp9.py
1# framed-rational status: EXACT -- integer / modular-F_p / cyclotomic arithmetic; no float in any asserted check (float, if present, only formats an exact rational for display).2"""3P9: generation replication -- the Galois-conjugate lead.45Matter conjugates under the Galois group of the substrate's extension tower.6Frobenius x->x^q on F_{q^n} has order n, so an element of F_{q^n} (not in a7subfield) has exactly n Galois conjugates -- an n-fold orbit of algebraically8identical objects differing only by the Frobenius label.910  quadratic extension F_{q^2}: Galois Z_2 -> 2 conjugates = the 2 CHIRALITIES (P4);11  cubic    extension F_{q^3}: Galois Z_3 -> 3 conjugates = 3 GENERATIONS (lead).1213Galois conjugates share their minimal polynomial, hence all algebraic (gauge)14properties: this is GENERATION UNIVERSALITY -- the generations identical except15for the label, the mass difference coming from the per-conjugate winding overlap16(P7).  Degrees 2 and 3 are coprime, so chirality and generations are independent17(Z_2 x Z_3 = Z_6 over F_{q^6}), matching that leptons have generations but no colour.1819The orbit sizes are computed exactly as the orbits of multiplication-by-q on20Z/(q^n - 1) (the exponent lattice of a generator); orbit size = degree.21OPEN KERNEL: why the matter extension is CUBIC (degree 3, not 2 or 4).22"""23from math import gcd2425def frobenius_orbits(q, n):26    """Orbits of x -> x^q on F_{q^n}^x, as orbits of *q on Z/(q^n-1)."""27    N = q**n - 128    seen = set(); orbits = []29    for a in range(N):30        if a in seen: continue31        orb = []; b = a32        while b not in seen:33            seen.add(b); orb.append(b); b = (b*q) % N34        orbits.append(orb)35    return orbits3637def report(q, n, label):38    orbits = frobenius_orbits(q, n)39    sizes = sorted({len(o) for o in orbits})40    maxsize = max(len(o) for o in orbits)41    nmax = sum(1 for o in orbits if len(o) == maxsize)42    print(f"  F_{{{q}^{n}}} (Galois Z_{n}): Frobenius orbit sizes on F^x = {sizes};"43          f"  {nmax} orbits of full size {maxsize}  -> {label}")44    return maxsize4546print("="*68)47print("P9  generations as Galois conjugates of the substrate's extension tower")48print("="*68)49print("\nFrobenius x->x^q on F_{q^n} has order n; a primitive element has n conjugates.")50print()51for q in (2, 3, 5):52    print(f" q={q}:")53    s2 = report(q, 2, "2 CHIRALITIES (quadratic, P4)")54    s3 = report(q, 3, "3 GENERATIONS (cubic, the lead)")55    s6 = report(q, 6, "Z_6 = Z_2 x Z_3 (chirality x generations)")56    print(f"    degree of chirality ext = {s2}, of generation ext = {s3},"57          f"  coprime: {gcd(s2,s3)==1}  (independent sectors)")58    print()5960print("-"*68)61print("Generation universality: conjugates share a minimal polynomial, hence all")62print("gauge quantum numbers -- the 3 generations identical except for mass.")63print("The number = the Galois degree; chirality is the degree-2 (quadratic) case,")64print("derived in P4; generations the degree-3 (cubic) case.  EXACTLY 3 = cubic degree.")65print("OPEN KERNEL: why the matter extension is cubic (4th role x->x^3, rank-3 colour,")66print("cube-root sector are the entry points).  P9 remains a lead, not a derivation.")67print("="*68)68