The file src/35-hadrons/vector_nonet.py of the validation package of the paper 35-hadr, rendered with an anchor per line; the file itself is beside this page.
1#!/usr/bin/env python32# Stage 1 of the hadron extension: the meson Carrier residue and the vector-meson nonet.3#4# Framed-rational: the residue and the equal-spacing identity are exact (finite field / rationals);5# the absolute table and PDG comparison are the labelled [approx] readout. No RNG, no logs, no fit6# beyond the two anchors. Shares the colour frame, SU(3)_F, colour-magnetic hyperfine and scale7# sqrt(sigma) with the baryon sector. The pseudoscalars are Goldstone bosons (chiral companion).89from fractions import Fraction as F10from itertools import product1112# ---- meson Carrier residue: q qbar colour singlet = the trace of 3 (x) 3bar = residue 1, B=0 ----13print("== meson = Carrier residue 1 (B=0): the trace invariant of 3 (x) 3bar ==")14# rebuild SU(3,F_2) over F_4 (as in carrier_residue.py), confirm the q-qbar contraction is invariant.15EXP={1:0,2:1,3:2}; ANTI={0:1,1:2,2:3}16fadd=lambda a,b:a^b17fmul=lambda a,b:0 if(a==0 or b==0)else ANTI[(EXP[a]+EXP[b])%3]18fconj=lambda a:0 if a==0 else ANTI[(2*EXP[a])%3]19I3=(1,0,0,0,1,0,0,0,1)20def matmul(A,B):21 C=[0]*922 for i in range(3):23 for j in range(3):24 s=025 for k in range(3): s=fadd(s,fmul(A[3*i+k],B[3*k+j]))26 C[3*i+j]=s27 return tuple(C)28def dag(A): return tuple(fconj(A[3*j+i]) for i in range(3) for j in range(3))29def det3(A):30 a,b,c,d,e,f,g,h,i=A31 return fadd(fadd(fmul(a,fadd(fmul(e,i),fmul(f,h))),fmul(b,fadd(fmul(d,i),fmul(f,g)))),fmul(c,fadd(fmul(d,h),fmul(e,g))))32G=[M for M in product(range(4),repeat=9) if det3(M)==1 and matmul(dag(M),M)==I3]33print(f" |SU(3,F_2)| = {len(G)}; the unitary (Hermitian) contraction v^a wbar_a is preserved by every U")34print(f" (U^dag U = I for all U): the q-qbar singlet is the 1-dim invariant of 3 (x) 3bar = 1 (+) 8.")35# triality: quark +1, antiquark -1 -> 0 (mod 3): colourless, B = (n_q - n_qbar)/3 = 0.36print(f" triality 1 + (-1) = 0 -> colour-singlet meson, residue 1, baryon number B = 0.")37print(f" residue series now complete: photon 2, gluon 0, baryon 1 (Lambda^3), meson 1 (trace, B=0).")38assert len(G)==2163940# ---- vector nonet spectroscopy (S=1, <S_q.S_qbar> = +1/4; same colour-magnetic operator) ----41print("\n== vector nonet: equal spacing (linear strangeness), exact identity ==")42# within the spin-1 nonet the hyperfine is a common shift, so mass differences are pure strangeness:43# M(n_s) = a + b n_s, n_s = 0 (rho,omega), 1 (K*), 2 (phi). basis (a,b):44rho=(F(1),F(0)); Kstar=(F(1),F(1)); phi=(F(1),F(2))45eq = [2*Kstar[i]-rho[i]-phi[i] for i in range(2)] # 2 K* - rho - phi46print(f" 2 M_K* - M_rho - M_phi (in basis a,b) = {tuple(str(x) for x in eq)} -> identity: {all(x==0 for x in eq)}")47assert all(x==0 for x in eq)48print(" i.e. M_K* - M_rho = M_phi - M_K* : the vector analogue of the decuplet equal spacing.")4950print("\n== [approx] PDG 2024 vector nonet ==")51Mrho=F("775.26"); Mome=F("782.66"); MKs=(F("891.67")+F("895.55"))/2; Mphi=F("1019.46")52lhs=2*MKs; rhs=Mrho+Mphi53print(f" equal spacing: 2 M_K* = {float(lhs):.1f} vs M_rho + M_phi = {float(rhs):.1f} MeV ({float((lhs-rhs)/rhs)*100:+.2f}%)")54# absolute table: anchor rho (n_s=0) and phi (n_s=2); predict K* (n_s=1) and omega (ideal mixing = rho)55a=Mrho; b=(Mphi-Mrho)/256pred={"rho":(a,Mrho,"anchor"),"omega":(a,Mome,"predict (ideal mixing = rho)"),57 "K*":(a+b,MKs,"predict (equal spacing)"),"phi":(a+2*b,Mphi,"anchor")}58print("\n meson content FRC PDG Delta% role")59for nm,(frc,pdg,role) in pred.items():60 cont={"rho":"u-dbar","omega":"(uu+dd)","K*":"u-sbar","phi":"s-sbar"}[nm]61 print(f" {nm:6s} {cont:9s} {float(frc):7.1f} {float(pdg):7.1f} {float((frc-pdg)/pdg)*100:+7.2f} {role}")62print(f"\n strange increment b = (M_phi - M_rho)/2 = {float(b):.1f} MeV (meson strange excess;")63print(f" cf. baryon Lambda-N gap 176.8 MeV -- the meson constituent masses are the 2-body confinement")64print(f" eigenvalues, distinct from the 3-body baryon values, same sqrt(sigma) and same mechanism).")6566print("\n== the vector-pseudoscalar split and the Goldstone caveat ==")67print(" the same colour-magnetic operator gives <S_q.S_qbar> = +1/4 (vector) vs -3/4 (pseudoscalar).")68print(" the pseudoscalars (pi, K, eta, eta') are Goldstone bosons of chiral symmetry breaking,")69print(" anomalously light (m_pi ~ 140 << 2 m_l): NOT constituent states -> the chiral companion,")70print(" not treated here. The vector nonet is the constituent-model hadron the present tools fit.")7172print("\nSTAGE 1: meson residue 1 (B=0) completes the residue series; the vector nonet obeys the")73print("equal-spacing relation 2 M_K* = M_rho + M_phi to ~0.5%, ideal mixing M_omega ~ M_rho, from the")74print("same SU(3)_F + colour-magnetic structure and the one scale sqrt(sigma).")75