feynlag.lagrangian.Model¶
- class feynlag.lagrangian.Model(name, gauge_groups=(), discrete_groups=(), fields=(), parameters=None, lagrangian=None)[source]¶
A BSM model: symmetries + fields + parameters + Lagrangian.
All pipeline stages are lazy — nothing is solved at construction.
Pipeline surface:
check_invariance()— gauge/discrete invariance of every term, hermiticity per sector, mass-dimension power counting;potential,vacuum— EWSB setup (L ⊃ −V);tadpoles(),solve_tadpoles()— vacuum conditions;mass_matrix()— real or charged scalar blocks at the vacuum;rotate()— register weak → physical Rotations;physical_lagrangian()— shifted, tadpole-substituted, rotated L;interactions(),feynman_rules()— vertex extraction.
- __init__(name, gauge_groups=(), discrete_groups=(), fields=(), parameters=None, lagrangian=None)[source]¶
Methods
__init__(name[, gauge_groups, ...])check_anomalies([raise_on_failure])Check that gauge anomalies cancel for the declared fermion content.
check_invariance([hermiticity, dimension, ...])Check every Lagrangian term against every declared symmetry.
feynman_rules(fields[, sector, ...])Feynman rules
i × coefficient × ∏(multiplicity)!per vertex.gauge_mass_matrix(gauge_components)Gauge boson mass matrix from the (vacuum-evaluated) kinetic sector:
M²_ab = ∂²L_kin,vac/∂A^a∂A^b.gauge_vertices([groups, basis, simplifier, ...])VVV and VVVV
Vertexobjects for the gauge self-couplings.interactions(fields[, sector, ...])Extract interaction coefficients from the physical Lagrangian.
mass_matrix(fields[, charged])Scalar mass matrix at the vacuum for a block of fields.
physical_lagrangian([sector])The Lagrangian in the physical basis: vacuum-shifted, tadpole solutions substituted, all registered rotations applied, expanded.
rotate(rotation)Register a weak → physical
Rotation.solve_tadpoles(for_params)Solve tadpoles for
for_params; solutions are remembered and applied bymass_matrix()/physical_lagrangian(), and anyInternalParameteramong them gets defined.spin_map([conjugate_map]){symbol: spin}for every known component, fluctuation and rotated physical field (rotations propagate block spin; conjugate partners inherit the spin of the field they conjugate).tadpoles()Tadpole conditions
{vev: ∂V/∂vev |_vacuum}.validate([invariance, hermiticity, ...])Run every applicable consistency check and aggregate the results.
vertices(fields[, sector, conjugate_map, ...])Extract
Vertexobjects (typed by the closed Lorentz catalog) from the physical Lagrangian.Attributes
potentialThe scalar potential
V(the Lagrangian stores−V).scalarsvacuumrotationsregistered weak → physical Rotations, in application order