The file src/27-fields/p3.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"""3P3: the cell-local non-abelian SU(2) weak connection, exact over a finite field.45Gauge group SU(2, F_q) = { M in M_2(K) : M^dagger M = I, det M = 1 }, K = F_{q^2},6the special unitary group of a Hermitian form on the spinor doublet K^2 (the same7quadratic extension that carries the weak spinor and the SU(3) colour frame).8We take q=3, K = F_9 = F_3[i] (i^2 = -1), Frobenius conjugation x -> x^3 (a+bi -> a-bi).910Verified exactly:11 A. |SU(2,3)| = 24 = q(q^2-1); the group is non-abelian; Tr M in F_3.12 B. Non-abelian gauge invariance: the plaquette holonomy transforms by conjugation13 U_box -> g U_box g^{-1} under a gauge transformation, so Tr U_box (hence the14 Wilson action) is invariant -- an EXACT finite-field identity, checked15 exhaustively over the group and on an explicit plaquette.16 C. The doublet (spinor) matter field couples covariantly.17 D. The split-torus drive breaks SU(2) by conjugation (the EW-1 mechanism).18"""19from itertools import product2021# ---------------- F_9 = F_3[i], i^2 = -1 ----------------22def add(x, y): return ((x[0]+y[0]) % 3, (x[1]+y[1]) % 3)23def neg(x): return ((-x[0]) % 3, (-x[1]) % 3)24def mul(x, y): return ((x[0]*y[0]-x[1]*y[1]) % 3, (x[0]*y[1]+x[1]*y[0]) % 3)25def conj(x): return (x[0], (-x[1]) % 3)26ZERO, ONE = (0, 0), (1, 0)27F9 = [(a, b) for a in range(3) for b in range(3)]2829# ---------------- 2x2 matrices over F_9 ----------------30def mat(a, b, c, d): return (a, b, c, d) # [[a,b],[c,d]]31EYE = mat(ONE, ZERO, ZERO, ONE)32def mm(M, N):33 a, b, c, d = M; e, f, g, h = N34 return mat(add(mul(a, e), mul(b, g)), add(mul(a, f), mul(b, h)),35 add(mul(c, e), mul(d, g)), add(mul(c, f), mul(d, h)))36def dagger(M):37 a, b, c, d = M38 return mat(conj(a), conj(c), conj(b), conj(d)) # conjugate transpose39def det(M):40 a, b, c, d = M41 return add(mul(a, d), neg(mul(b, c)))42def tr(M):43 a, b, c, d = M44 return add(a, d)45def matvec(M, v):46 a, b, c, d = M47 return (add(mul(a, v[0]), mul(b, v[1])), add(mul(c, v[0]), mul(d, v[1])))4849# ---------------- A. build SU(2,3) ----------------50SU2 = []51for a, b, c, d in product(F9, repeat=4):52 M = mat(a, b, c, d)53 if mm(dagger(M), M) == EYE and det(M) == ONE:54 SU2.append(M)55order = len(SU2)56# inverse of a unitary is its dagger57def inv(M): return dagger(M)58nonabelian = any(mm(M, N) != mm(N, M) for M in SU2 for N in SU2)59tr_in_F3 = all(tr(M)[1] == 0 for M in SU2) # imaginary part zero60print("=" * 66)61print("P3 the finite non-abelian SU(2) weak connection (q=3, K=F_9)")62print("=" * 66)63print(f"\n[A] |SU(2,3)| = {order} = q(q^2-1) = {3*(9-1)} match: {order==24}")64print(f" non-abelian: {nonabelian} Tr(M) in F_3 for all M: {tr_in_F3}")6566# ---------------- B. non-abelian gauge invariance ----------------67# (i) trace is conjugation-invariant -- exhaustive over the group (576 pairs)68conj_inv = all(tr(mm(mm(g, M), inv(g))) == tr(M) for g in SU2 for M in SU2)69print("\n[B] non-abelian Wilson gauge invariance")70print(f" Tr(g M g^-1) = Tr(M) for all (g,M) in SU(2,3)^2 (exhaustive): {conj_inv}")7172# (ii) explicit plaquette: corners a,b,c,d ; links U_ab,U_bc,U_cd,U_da73U_ab, U_bc, U_cd, U_da = SU2[5], SU2[11], SU2[17], SU2[23]74P = mm(mm(U_ab, U_bc), mm(U_cd, U_da)) # holonomy a->b->c->d->a75ga, gb, gc, gd = SU2[3], SU2[8], SU2[14], SU2[20] # a gauge transformation76U_ab2 = mm(mm(ga, U_ab), inv(gb))77U_bc2 = mm(mm(gb, U_bc), inv(gc))78U_cd2 = mm(mm(gc, U_cd), inv(gd))79U_da2 = mm(mm(gd, U_da), inv(ga))80P2 = mm(mm(U_ab2, U_bc2), mm(U_cd2, U_da2))81print(f" plaquette under gauge: P' = g_a P g_a^-1 ? {P2 == mm(mm(ga, P), inv(ga))}")82print(f" Tr P invariant: {tr(P2) == tr(P)} (Tr P = {tr(P)} in F_9)")83print(f" Wilson density 1 - (1/2)Tr unchanged (since Tr unchanged): {tr(P2)==tr(P)}")8485# ---------------- C. doublet matter couples covariantly ----------------86# doublet psi in K^2 at each site; covariant difference (D psi)_xy = psi_y - U_xy psi_x87psi_a = (SU2[1][0], SU2[1][2]); psi_b = (SU2[2][0], SU2[2][2])88def vsub(u, w): return (add(u[0], neg(w[0])), add(u[1], neg(w[1])))89# covariant difference (D psi)_ab = psi_a - U_ab psi_b , transforms as -> g_a (D psi)90D = vsub(psi_a, matvec(U_ab, psi_b))91psi_a2 = matvec(ga, psi_a); psi_b2 = matvec(gb, psi_b)92D2 = vsub(psi_a2, matvec(U_ab2, psi_b2))93print("\n[C] doublet (spinor) matter field")94print(f" covariant difference transforms as D -> g_a D : {D2 == matvec(ga, D)}")9596# ---------------- D. the drive breaks SU(2) by conjugation (EW-1) ----------------97# a split-torus (diagonal) drive element delta = diag(t, t^-1) in SU(2,3):98# t must satisfy norm(t)=1 (unitary) and t * t^-1 =1 (det). Pick t = i (order 4).99t = (0, 1) # i in F_9, |i|^2 = i*conj(i)=i*(-i)=1100delta = mat(t, ZERO, ZERO, conj(t)) # diag(t, t^q)=diag(i,-i), unitary, det=1101assert mm(dagger(delta), delta) == EYE and det(delta) == ONE102# does the drive commute with all of SU(2)? (no -> it breaks SU(2))103commutes_with_all = all(mm(delta, M) == mm(M, delta) for M in SU2)104centralizer = sum(1 for M in SU2 if mm(delta, M) == mm(M, delta))105print("\n[D] electroweak breaking (EW-1) inside SU(2,3)")106print(f" drive delta = diag(i,-i) in SU(2,3); commutes with all SU(2): {commutes_with_all}")107print(f" centraliser of the drive = {centralizer} (< 24 => SU(2) broken to a U(1))")108print("=" * 66)109print("The non-abelian weak connection is an exact finite-group lattice gauge")110print("field; its Wilson invariance is the exact conjugation-invariance of the")111print("trace, the same construction as the SU(3) colour frame (rank 2 vs 3).")112print("=" * 66)113