feynlag.suggest¶
Invariant-term suggestion: enumerate the Lagrangian a model can have.
Given the declared fields and symmetries, this module enumerates every
gauge- and discrete-invariant term up to mass dimension 4 — turning the
model-building stage from “hand-derive every invariant, then hope
check_invariance catches your mistakes” into “declare fields, review the
suggested operator basis, attach couplings”.
The engine is feynlag’s own, already-tested invariance machinery used as an
oracle (feynlag.invariance): candidate terms are constructed from
gauge-invariant building blocks, filtered for U(1) neutrality, projected
onto the discrete-invariant subspace by group averaging (the Reynolds
operator), reduced to a linearly independent basis, and then every emitted
term is re-verified against the full check_* battery.
Public surface:
SuggestedTerm— one invariant, coupling-free, with metadata.suggest_potential()— scalar-potential invariants.suggest_yukawa()— Yukawa / bare-mass invariants.suggest_kinetic()— kinetic/gauge scaffolding (no enumeration).build_lagrangian()— attach couplings and fill aLagrangian.
Functions
|
Attach a fresh coupling to each suggestion and fill a Lagrangian. |
|
Project |
|
Kinetic/gauge scaffolding — no enumeration, just the canonical terms. |
|
Enumerate scalar-potential invariants up to |
|
Enumerate Yukawa / bare-mass / Weinberg invariants over fermion pairs. |
Classes
|
One invariant Lagrangian term, coupling-free, with metadata. |