feynlag.vacuum.diagonalize¶
Rotations from the weak basis to the physical (mass) basis.
Rotation: holdsnew = R · old, produces the substitution dictold → Rᵀ·newfor rewriting the Lagrangian, and verifies that it actually diagonalizes a given mass matrix (the tan-2θ verification rule of CONVENTIONS.md is enforced by construction here: angles come from the off-diagonal condition, andRotation.check()re-verifies).2×2 analytic orthogonal diagonalization (the BSM workhorse).
Larger symbolic matrices: use a
rotation_2x2()-style user ansatz andsolve_mixing_angle_2x2per block, or numeric diagonalization at export time — never rely on symboliceigenvectsfor >2×2 (see plan risks).
SVD (Dirac) and Takagi (Majorana) arrive with the fermion sector (Phase 4).
Functions
|
Diagonalize a real symmetric 2×2 mass matrix. |
|
Singular-value decomposition for a Dirac mass matrix. |
|
Analytic biunitary SVD of a real 2×2 Dirac mass matrix. |
|
Takagi factorization of a (real) symmetric Majorana mass matrix. |
|
|
|
Mixing angle of a real symmetric 2×2 matrix from the off-diagonal condition |
Classes
|
Rotate weak-basis neutrinos to physical Majorana mass eigenstates. |
|
A change of basis |