feynlag.vertices.bilinear

The fermion bilinear track.

Fermions never enter the commuting Poly extractor. A Yukawa or gauge-current term is written as:

coefficient(bosons, params) × Bilinear(ψ̄_a[i], Γ, χ_b[j])

where Γ is a Dirac structure built from feynlag.dirac objects (diracPL, diracPR, DiracGamma(mu)*diracPL …) and [i], [j] are flavor indices on IndexedBase components. The bilinear is an opaque commuting atom (a spinor sandwich is a c-number).

A single bilinear per term is the FFS/FFV (Yukawa / gauge-current) track. Two bilinears per term is the four-fermion (FFFF) track for dim-6 effective operators like Fermi theory (ψ̄Γψ)(χ̄Γ′χ) — supported in the as-written bilinear basis (no Fierz canonicalisation; a Fierz-rearranged operator is a different input) and restricted to four distinct fermion components. When a fermion component repeats among the four legs (e.g. (ēΓe)(ēΓ′e) or a squared bilinear B²), extraction raises NotImplementedError: the repeated leg generates cross-chain Wick contractions whose relative signs need genuine spinor-index Fierz algebra the opaque-Bilinear design cannot express. With distinct legs there are no exchange contractions, so the vertex is simply i × coefficient × ∏(boson multiplicity)! with the two Dirac structures (Γ, Γ′) carried alongside (four_fermion_feynman_rule()).

extract_fermion_vertices() groups terms by bilinear and peels the boson legs off each coefficient with the bosonic extractor — this systematizes the DLRSM1 IndexedBase coupling pattern.

Functions

expand_bilinear(expr)

Distribute Bilinear and MajoranaBilinear over Add-valued legs.

extract_fermion_vertices(L, boson_fields)

Group a fermionic Lagrangian by bilinear(s) and extract boson legs.

extract_majorana_vertices(L, boson_fields)

Group a Majorana sector by MajoranaBilinear and extract bosons.

fermion_feynman_rule(coefficient, gamma, ...)

FFS/FFV rule: i × coefficient × ∏(boson multiplicities)! × Γ.

fermion_gauge_current(fermion, flavor_index)

Gauge-current terms of i ψ̄ γ^μ D_μ ψ (the interaction part).

fermion_mass_matrix(L_fermionic, bar_base, ...)

Fermion mass matrix from the vacuum-evaluated fermionic sector.

four_fermion_feynman_rule(coefficient[, ...])

FFFF rule: the scalar i × coefficient × ∏(boson multiplicities)!.

majorana_feynman_rule(coefficient, gamma[, ...])

Majorana FFS/FFSS rule: i × coefficient × ∏(boson mult)! × (CΓ).

majorana_mass_matrix(L_fermionic, ...[, gamma])

Symmetric Majorana mass matrix from the vacuum-evaluated sector.

Classes

Bilinear(bar, gamma, field)

Bilinear(ψ̄_a[i], Γ, χ_b[j]) — an opaque fermion sandwich.

MajoranaBilinear(field1, gamma, field2)

MajoranaBilinear(ψ₁[i], C·Γ, ψ₂[j]) — a Majorana sandwich ψ₁ᵀ C Γ ψ₂.