The file src/27-fields/ew1.py of the validation package of the paper 27-fld, rendered with an anchor per line; the file itself is beside this page.
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"""3EW-1: electroweak symmetry breaking as drive / torus misalignment.45 A. The breaking mechanism, exact over F_p:6 the drive (a split-torus element) acts by conjugation on the gauge Lie7 algebra sl2(F_p); it fixes its own Cartan (eigenvalue 1 = unbroken U(1)_EM,8 drive-invariant, hence massless) and rotates the off-diagonal generators9 (eigenvalues t^{+-2} != 1 = the charged, gapped W^pm). Its centraliser is10 the split torus = U(1), order p-1. The non-split torus (weak SU(2)) is NOT11 centralised by the drive -> the source of the breaking.12 B. Neutral mixing: the (W3,B) mass matrix -> massless photon + massive Z,13 tan(theta_W)=g'/g, and a doublet Higgs gives rho = M_W^2/(M_Z^2 cos^2)=1.14 C. The Weinberg angle reduces to the charge spectrum:15 sin^2(theta_W) = Tr(T3^2)/Tr(Q^2) = 3/8 for a complete generation (exact),16 1/2 for a lone lepton doublet -> the number is set by the fermion content.1718Finitism: part A is exact arithmetic in F_p; part C is exact rationals; part B19is exact symbolic algebra. No RNG, FFT, or floating point in the derivations.20"""21from fractions import Fraction as Fr22import sympy as sp23import itertools2425# ======================================================================26# A. breaking mechanism, exact in F_p (p = 13, symmetry-complete 4t+1)27# ======================================================================28def partA(p=13, g=2):29 # matrices over F_p as tuples (a,b,c,d) for [[a,b],[c,d]]30 def mul(X, Y):31 a, b, c, d = X; e, f, h, k = Y32 return ((a*e + b*h) % p, (a*f + b*k) % p,33 (c*e + d*h) % p, (c*f + d*k) % p)34 def inv_scalar(t): return pow(t, p - 2, p)3536 t = g; ti = inv_scalar(t) # drive = diag(t, t^-1)37 drive = (t, 0, 0, ti)38 drive_inv = (ti, 0, 0, t)3940 # Ad_drive on the sl2 basis H=[[1,0],[0,-1]], E=[[0,1],[0,0]], F=[[0,0],[1,0]]41 H = (1, 0, 0, p - 1); E = (0, 1, 0, 0); Fm = (0, 0, 1, 0)42 eig = {}43 for name, Xb in [('H', H), ('E', E), ('F', Fm)]:44 Y = mul(mul(drive, Xb), drive_inv)45 # Y should be lambda * Xb; read lambda off the nonzero component46 comp = next(i for i in range(4) if Xb[i] % p)47 lam = (Y[comp] * inv_scalar(Xb[comp] if Xb[comp] != p-1 else p-1)) % p48 # simpler: lambda = Y[comp]/Xb[comp]49 lam = (Y[comp] * inv_scalar(Xb[comp] % p)) % p50 eig[name] = lam5152 # centraliser of the drive in SL2(F_p): brute force53 cent = 054 for a in range(p):55 for b in range(p):56 for c in range(p):57 for d in range(p):58 if (a*d - b*c) % p != 1:59 continue60 M = (a, b, c, d)61 if mul(M, drive) == mul(drive, M):62 cent += 16364 # non-split torus: norm-1 elements of F_p[sqrt(nu)], nu a nonsquare.65 squares = {(x*x) % p for x in range(p)}66 nu = next(x for x in range(2, p) if x not in squares)67 # element [[a, nu*b],[b, a]] has determinant a^2 - nu b^2 (the norm)68 nonsplit_gen = None69 for a in range(p):70 for b in range(p):71 if (a*a - nu*b*b) % p == 1 and not (b == 0 and a == 1):72 nonsplit_gen = (a, (nu*b) % p, b, a); break73 if nonsplit_gen: break74 commutes = mul(nonsplit_gen, drive) == mul(drive, nonsplit_gen)75 return eig, cent, p - 1, nu, commutes767778# ======================================================================79# B. neutral mixing, photon/Z, rho = 1 (exact symbolic)80# ======================================================================81def partB():82 g, gp, v = sp.symbols('g g_prime v', positive=True)83 # neutral gauge mass^2 matrix in (W3, B) basis from a doublet Higgs vev v84 M2 = sp.Rational(1, 4) * v**2 * sp.Matrix([[g**2, -g*gp], [-g*gp, gp**2]])85 eigs = sp.simplify(sp.Matrix(M2).eigenvals()) # {0: photon, (g^2+g'^2)v^2/4: Z}86 MW2 = sp.Rational(1, 4) * g**2 * v**2 # charged W mass^287 MZ2 = sp.Rational(1, 4) * (g**2 + gp**2) * v**288 cos2 = g**2 / (g**2 + gp**2) # cos^2(theta_W)89 rho = sp.simplify(MW2 / (MZ2 * cos2)) # custodial rho parameter90 tan = gp / g # tan(theta_W)91 return eigs, sp.simplify(rho), tan929394# ======================================================================95# C. Weinberg angle from the charge spectrum (exact rationals)96# sin^2(theta_W) = Tr(T3^2) / Tr(Q^2)97# ======================================================================98def sin2_from_content(fermions):99 """fermions: list of (T3, Q, multiplicity)."""100 trT3 = sum(Fr(T3)**2 * m for T3, Q, m in fermions)101 trQ = sum(Fr(Q)**2 * m for T3, Q, m in fermions)102 return trT3 / trQ, trT3, trQ103104def partC():105 # lone left-handed lepton doublet (nu, e)106 lepton = [(Fr(1, 2), 0, 1), (Fr(-1, 2), -1, 1)]107 # complete SM generation: 15 left-handed Weyl fermions108 # (T3 nonzero only for LH SU(2) doublets; Q for all)109 gen = [110 (Fr(1, 2), 0, 1), (Fr(-1, 2), -1, 1), # lepton doublet111 (0, 1, 1), # e^c (positron)112 (Fr(1, 2), Fr(2, 3), 3), (Fr(-1, 2), Fr(-1, 3), 3), # quark doublet x3 colour113 (0, Fr(-2, 3), 3), # u^c x3114 (0, Fr(1, 3), 3), # d^c x3115 ]116 s_lep, *_ = sin2_from_content(lepton)117 s_gen, trT3, trQ = sin2_from_content(gen)118 return s_lep, s_gen, trT3, trQ119120121if __name__ == "__main__":122 print("=" * 68)123 print("EW-1 electroweak breaking as drive / torus misalignment")124 print("=" * 68)125126 eig, cent, torus, nu, commutes = partA(13, 2)127 print("\n[A] breaking mechanism, exact in F_13 (drive = diag(2, 2^-1))")128 print(f" Ad_drive eigenvalues on sl2: H -> {eig['H']}, E -> {eig['E']},"129 f" F -> {eig['F']} (mod 13)")130 print(f" H is drive-invariant (eigenvalue 1) => unbroken U(1)_EM, MASSLESS photon")131 print(f" E,F have eigenvalues != 1 => charged W^pm, GAPPED (massive)")132 print(f" centraliser of the drive in SL2(F_13) = {cent} = p-1 = {torus}"133 f" (the split torus = U(1))")134 print(f" non-split torus (weak SU(2), nu={nu}) commutes with drive: {commutes}"135 f" => drive misaligns SU(2): the source of breaking")136137 eigs, rho, tan = partB()138 print("\n[B] neutral mixing (exact symbolic)")139 print(f" (W3,B) mass^2 eigenvalues: {dict(eigs)}")140 print(f" -> one ZERO eigenvalue (photon) + one massive (Z)")141 print(f" tan(theta_W) = g'/g ; custodial rho = M_W^2/(M_Z^2 cos^2 theta_W) = {rho}"142 f" (doublet Higgs => rho = 1 exactly)")143144 s_lep, s_gen, trT3, trQ = partC()145 print("\n[C] Weinberg angle from the charge spectrum (exact rationals)")146 print(f" sin^2(theta_W) = Tr(T3^2)/Tr(Q^2)")147 print(f" lone lepton doublet : {s_lep} = {float(s_lep):.4f}")148 print(f" complete SM generation : Tr(T3^2)={trT3}, Tr(Q^2)={trQ}"149 f" -> sin^2 = {s_gen} = {float(s_gen):.4f}")150 print(f" => the ANGLE reduces to the fermion content; a complete generation")151 print(f" gives the standard unification value 3/8 (runs to ~0.231 at M_Z).")152 print("=" * 68)153