theta13.py โ€” src/28-flavour

The file src/28-flavour/theta13.py of the validation package of the paper 28-flav, rendered with an anchor per line; the file itself is beside this page.

28-flavour ledgersrc/28-flavour/theta13.py ยท 2.7 KBtheta13.py
1#!/usr/bin/env python32# -*- coding: utf-8 -*-3"""4theta_13 (ledger open: the theta13/lopsided realisation).  Test whether it upgrades to a lead.5The lopsided M_e = M_d^T (sec. mixing) makes the charged-lepton 1-2 rotation inherit the6down-quark Cabibbo angle theta_C^e ~ theta_C.  A charged-lepton 1-2 rotation on a TBM/magic7neutrino base induces, through the maximal atmospheric mixing (theta23 ~ 45deg, sin = 1/sqrt2,8the quarter-turn), the reactor angle9        theta_13 ~ theta_C / sqrt2          (weak quark-lepton complementarity)10and the solar sum rule11        theta_12 + theta_C ~ 45deg          (quark-lepton complementarity, the quarter-turn bisector).12Since theta_C = arcsin(lambda) and lambda ~ delta_0 (spurion push), theta13 folds onto the one13phase delta_0 and the quarter-turn.  [continuum/data: a labelled mixing-relation check.]14"""15import numpy as np16deg=np.pi/18017# observed (NuFIT NO)18sC=0.2243; thC=np.degrees(np.arcsin(sC))      # Cabibbo19s13=0.1486; th13=np.degrees(np.arcsin(s13))   # reactor20s23=0.756;  th23=np.degrees(np.arcsin(s23))   # atmospheric21th12=33.4                                     # solar22lam=0.2245; d0=0.222223s2=np.sqrt(2)2425print(f"observed: theta_C={thC:.2f}, theta_13={th13:.2f}, theta_23={th23:.2f}, theta_12={th12:.2f} deg")2627print("\n(1) theta_13 ~ theta_C/sqrt2  (lopsided charged-lepton rotation through maximal theta23)")28s13_pred=sC/s229print(f"   sin theta_13 pred = sin theta_C / sqrt2 = {s13_pred:.4f}  vs observed {s13:.4f}  "30      f"({100*abs(s13_pred-s13)/s13:.0f}%)")31ok1=abs(s13_pred-s13)/s13<0.103233print("\n(2) quark-lepton complementarity: theta_12 + theta_C ~ 45 (quarter-turn bisector)")34qlc=th12+thC35print(f"   theta_12 + theta_C = {qlc:.1f} deg  vs 45 deg  ({abs(qlc-45):.1f} deg off)")36ok2=abs(qlc-45)<33738print("\n(3) theta_13 folds onto delta_0: theta_C = arcsin(lambda), lambda ~ delta_0")39print(f"   sin theta_13 ~ lambda/sqrt2 = {lam/s2:.4f} ~ delta_0/sqrt2 = {d0/s2:.4f}  vs {s13:.4f}")40ok3=abs(lam/s2-s13)/s13<0.104142print("\n(4) the sqrt2 is the quarter-turn: sin(theta23~45deg) = 1/sqrt2")43print(f"   sin theta_23 = {s23:.3f} ~ 1/sqrt2 = {1/s2:.3f} (maximal atmospheric, the magic value)")44ok4=abs(s23-1/s2)/(1/s2)<0.104546print("\n"+"="*68)47print("VERDICT: theta_13 upgrades open -> LEAD.  The lopsided M_e=M_d^T feeds the Cabibbo")48print("rotation into the PMNS; through maximal theta23 (quarter-turn 1/sqrt2) this gives")49print("theta_13 ~ theta_C/sqrt2 ~ lambda/sqrt2 ~ delta_0/sqrt2 (7%) and QLC theta12+theta_C~45 (3%).")50print("So theta_13 folds onto delta_0 + the quarter-turn; residual = the precise charged-lepton")51print("rotation and the theta23 deviation from 45deg.  (Relation accurate to ~7%, not exact.)")52print("="*68)53print(f"checks: {sum([ok1,ok2,ok3,ok4])}/4 within tolerance")54