The file src/35-hadrons/su3f_relations.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# WP2/WP3 - the SU(3)_F baryon mass relations, exact and scale-cancelling.3#4# Framed-rational / 1-algebra: the identities are proved in exact rational arithmetic5# (Fraction) as coefficient-vector identities, valid for EVERY value of the parameters, so6# the confinement scale sqrt(sigma) (Omega-hard, D6c) cancels. No RNG, no logs, no fit.7# The PDG confrontation is the single labelled [approx] readout at the end.8#9# Structure of the wrapped composite (master eq. of the blueprint):10# M_B = sqrt(sigma) * [ f_fl(B) + kappa_hf g_spin(B) ] + Delta^EM_B .11# Within one spin multiplet g_spin is constant, so the spin term is an overall shift and the12# SU(3)_F relations live entirely in f_fl, the flavour structure. f_fl is taken linear in the13# strange-seed count at leading order (one fixed wrap increment per strange constituent), the14# increment fixed upstream by the chi_3 current-mass ratio (28-flavour). Linearity is the15# only structural input; the relations below are identities given it.1617from fractions import Fraction as F1819def zero_vec(v):20 return all(x == 0 for x in v)2122def lincomb(coeffs, vecs):23 n = len(vecs[0])24 out = [F(0)] * n25 for c, v in zip(coeffs, vecs):26 for i in range(n):27 out[i] += F(c) * v[i]28 return out2930print("== WP3a: Gell-Mann-Okubo octet relation as an exact identity ==")31# Octet first-order breaking operator M = M0 + a*Y + b*[ I(I+1) - Y^2/4 ] (the 8 of SU(3)_F).32# Coefficient vectors in the basis (M0, a, b):33# I(I+1) - Y^2/4 for each isomultiplet:34# N : Y=+1, I=1/2 -> 3/4 - 1/4 = 1/235# L : Y= 0, I=0 -> 036# S : Y= 0, I=1 -> 237# X : Y=-1, I=1/2 -> 1/238octet = {39 "N": (F(1), F( 1), F(1, 2)),40 "L": (F(1), F( 0), F(0)),41 "S": (F(1), F( 0), F(2)),42 "X": (F(1), F(-1), F(1, 2)),43}44# GMO: (N + X)/2 = (3 L + S)/4 <=> 2N + 2X - 3L - S = 045gmo = lincomb([2, 2, -3, -1], [octet["N"], octet["X"], octet["L"], octet["S"]])46print(f" 2*N + 2*X - 3*L - S (in basis M0,a,b) = {tuple(str(x) for x in gmo)}")47print(f" -> identity holds for ALL (M0,a,b): {zero_vec(gmo)} (sqrt(sigma) and breaking params cancel)")48assert zero_vec(gmo)4950print("\n== WP3b: decuplet equal spacing as an exact identity ==")51# Decuplet operator linear in strange-seed count n_s: M = alpha + beta*n_s .52# Coefficient vectors in basis (alpha, beta): n_s = 0,1,2,3 for Delta, Sigma*, Xi*, Omega.53dec = {54 "D": (F(1), F(0)), # Delta n_s=055 "S*": (F(1), F(1)), # Sigma* n_s=156 "X*": (F(1), F(2)), # Xi* n_s=257 "O": (F(1), F(3)), # Omega n_s=358}59# equal spacing <=> the second differences vanish:60d1 = lincomb([1, -2, 1], [dec["D"], dec["S*"], dec["X*"]]) # D - 2S* + X*61d2 = lincomb([1, -2, 1], [dec["S*"], dec["X*"], dec["O"]]) # S* - 2X* + O62print(f" D - 2 S* + X* = {tuple(str(x) for x in d1)}")63print(f" S* - 2 X* + O = {tuple(str(x) for x in d2)}")64print(f" -> equal spacing holds for ALL (alpha,beta): {zero_vec(d1) and zero_vec(d2)}")65assert zero_vec(d1) and zero_vec(d2)66print(" the common spacing is beta = (M_Omega - M_Delta)/3, one strange-seed wrap increment.")6768# =====================================================================================69# [approx] PDG 2024 confrontation. Isospin-averaged masses, MeV, as exact rationals.70# This is the single labelled continuum readout; the identities above are the framed result.71# =====================================================================================72print("\n== [approx] PDG 2024 confrontation (isospin-averaged, MeV) ==")73def avg(*xs):74 s = F(0)75 for x in xs:76 s += F(str(x))77 return s / len(xs)7879mN = avg(938.272, 939.565)80mL = F("1115.683")81mS = avg(1189.37, 1192.642, 1197.449)82mX = avg(1314.86, 1321.71)8384lhs = (mN + mX) / 285rhs = (3 * mL + mS) / 486res = (rhs - lhs) / rhs87print(f" octet: (N+X)/2 = {float(lhs):8.2f} (3L+S)/4 = {float(rhs):8.2f} "88 f"residual = {float(res)*100:+.2f}% [approx]")8990mD = F("1232.0")91mSs = avg(1382.8, 1383.7, 1387.2)92mXs = avg(1531.80, 1535.0)93mO = F("1672.45")94sp = [mSs - mD, mXs - mSs, mO - mXs]95mean = sum(sp, F(0)) / 396spread = (max(sp) - min(sp)) / mean97print(f" decuplet spacings (MeV): {float(sp[0]):.1f}, {float(sp[1]):.1f}, {float(sp[2]):.1f}"98 f" mean increment beta = {float(mean):.1f} spread = {float(spread)*100:.1f}% [approx]")99print(f" decuplet beta from equal spacing (M_O - M_D)/3 = {float((mO-mD)/3):.1f} MeV [approx]")100print(f" octet strange step (X - N)/2 = {float((mX-mN)/2):.1f} MeV/strange [approx]")101102print("\nWP3 PASS: GMO and decuplet equal spacing are exact, parameter-free, scale-cancelling")103print("identities; PDG confirms them to 0.57% (octet) and a 9.2% spacing spread (decuplet).")104print("Forward (WP5): the Coleman-Glashow isospin relation p-n + Xi^- - Xi^0 = Sigma^- - Sigma^+.")105