ABSTRACT (original article): We derive a saturation theorem for general Effective Field Theories (EFTs) constructed using spurion analysis. Let
S
be a set of spurion fields introduced to organize the breaking of a global symmetry
G
f
, and
H
S
be the subgroup of
G
f
that remains unbroken under a generic vacuum expectation value
〈S〉
; we show that the EFT Lagrangian constructed from the spurion analysis saturates the EFT Lagrangian without the spurions but restricted to
H
S
invariance, provided that arbitrary powers of the spurion fields are allowed. As examples, we study several implementations of the Minimal Lepton Flavor Violation (MLFV) principle, corresponding to various origins of the neutrino masses. In each scenario, we compute the Hilbert series to obtain the numbers of independent lepton flavor covariants that appear in the corresponding EFT at mass dimension 6. These numbers agree with the number of
H
S
invariants in the EFT without the spurions, demonstrating the saturation theorem. Motivated by phenomenological connections, we provide linearly independent spurion polynomials for selected lepton flavor covariants. An ancillary file is supplied at this https URL , which is a Mathematica notebook that provides functions for computing general Hilbert series of invariants and covariants of compact classical groups. It presents examples demonstrating the use of the code, including the Hilbert series for our MLFV scenarios. CITATION (original article): Benjamín Grinstein, Xiaochuan Lu, Carlos Miró, Pablo Quílez (2024), Most general EFTs from spurion analysis: Hilbert series and Minimal Lepton Flavor Violation, arXiv:2412.16285. https://doi.org/10.48550/arXiv.2412.16285​
GitHub: https://github.com/HilbertSeries/Group_Invariants_and_Covariants
In this ancillary Mathematica notebook we provide detailed instructions on how to use our optimized code for the computation of single-graded and multi-graded Hilbert series (HS), focusing, in particular, in the classical Lie groups SU(n), SO(n), Sp(n=2r), and U(1) abelian factors. In Section 1, we introduce the three pieces that make up the integrand in the Molien-Weyl formula, that is, the Haar measures, the Weyl characters, and the graded characters of polynomial rings from the building block fields. Section 2 contains our main functions for the computation of the Hilbert series. A simple application demo is presented in Section 3 to clearly illustrate the call of the previous functions, the structure of their input arguments, and the expected output. Finally, in Section 4 we address a phenomenologically motivated scenario, namely, the Minimal Lepton Flavor Violation (MLFV) principle, in the context of a spurion analysis for different neutrino mass generation mechanisms. Within each scenario, we collect both single-graded and (some) multi-graded HS for the lepton flavor group covariants of interest. In any case, this ancillary file is intended to serve the interested reader as a package for computing their own HS.

1. Constructing the integrand: Haar measures, Weyl characters, and graded polynomial ring characters

Haar measures and reduced Haar measures (based on arXiv: 1706.08520)

Haar measures​​These are the measures in the Weyl integration formula ── see arXiv: 1706.08520 for details.There are r integration variables, where r is the rank of the group.Factors of
1
2πi
have been stripped off from the Haar measures for convenience, as the integrals will be evaluated by computing residues later.​​​Reduced Haar measures​​They refer to a simplified or reduced version of the previous Haar measures when the integrand is symmetric under the Weyl group ── see arXiv: 1706.08520 for details.​​Syntax for computing Haar measures​HaarGroup[gp, chvars]: Haar measure for a group “gp”, using parametrization variables in the list “chvars”.HaarReducedGroup[gp, chvars]: Reduced Haar measure for a group “gp”, using parametrization variables in the list “chvars”.HaarProductGroup[gplist, chvarsGps]: Haar measure for a product group “gplist” (a list of “gp”), where “chvarsGps” is a list of “chvars”.HaarReducedProductGroup[gplist, chvarsGps]: Reduced Haar measure for a product group “gplist” (a list of “gp”), where “chvarsGps” is a list of “chvars”.​​Group and product group​Each group “gp” can be “U1”, “SUn”, “SOn”, “Spn”, where “n” is an integer, such as “SU3”, “SO7”, “Sp10”. For the “Spn” group, “n” must be an even integer.A product group “gplist” is a list of “gp”: gplist = {
gp
1
,
gp
2
, ... }, such as {SU3, SU2, U1}.​​Character variables​Each “chvars” is a list of variables, such as {x1, x2, x3}. The number of variables in “chvars” must coincide with the rank of the group.“chvarsGps” is a list of “chvars”: chvarsGps = {
chvars
1
,
chvars
2
, ... }, where each “
chvars
k
” specifies the list of variables used for the k-th factor in the product group “gplist”.​There are a variety of explicit examples provided in Section 3 below.

U(1)


SU(n)


SO(n)


Sp(n=2r)


General


Weyl characters (based on arXiv: 1706.08520)

Weyl characters​
They refer to the character function restricted to the Cartan subgroup ── see arXiv: 1706.08520 for details.
A Weyl character depends on the group and the irreducible representation (irrep).​
​
​Syntax for computing Weyl characters​
WeylChGroup[gp, chvars, irrephwt]: Weyl character for an irrep “irrephwt” of a group “gp”, using parametrization variables in the list “chvars”.
WeylChProductGroup[gplist, chvarsGps, irrephwtGps]: Weyl character for an irrep “irrephwtGps” (which is a list of “irrephwt”) of the product group “gplist”.​
​
​Highest weight vector of irreducible representations (irreps)​
​We use the highest weight vector to label irreps ── “irrephwt”, which is a list with
r
components, where r is the rank of the group.
Taking SU(3) for example, we have
fundamental irrep: irrephwt = {1,0}
anti-fundamental irrep: irrephwt = {1,1}
adjoint irrep: irrephwt = {2,1}
For SU(n=r+1) groups, we embed the weight lattice in the (r + 1)-dimensional space, such that the components of the weight vectors are all integers. The (r + 1)-th component of a highest weight vector is zero, and we can view it as a vector with r components, as in the above SU(3) examples. With this convention, for a given SU(n=r+1) irrep, there is a convenient map between its highest weight vector and its Young diagram ── the k-th component of “irrephwt” gives the number of boxes in the k-th row of the Young diagram.​
​
​“irrephwtGps” is a list of “irrephwt”: irrephwtGps = {
irrephwt
1
,
irrephwt
2
, ... }, where each “
irrephwt
k
” specifies the irrep of the k-th factor in the product group “gplist”. Together, “irrephwtGps” specifies an irrep of the product group.​
​
​Dynkin labels of irreps​
​A frequently used alternative convention is to label irreps by the Dynkin labels ── “dynkinlabels” is a list of r non-negative integers. We provide functions to translate between the highest weight vector and the Dynkin labels:
DynkinLabelsFromIrrephwt[gp, irrephwt]: gives the Dynkin labels of an irrep from the highest weight vector “irrephwt”.
IrrephwtFromDynkinLabels[gp, dynkinlabels]: gives the highest weight vector “irrephwt” of an irrep from the Dynkin labels.
​
​Dimension of irreps​
​We also provide a function to compute the dimension of an irrep from the highest weight vector “irrephwt”:​
​DimIrrephwt[gp, irrephwt]: gives the dimension of an irrep “irrephwt” of the group “gp”.
​
​Summary table of irreps​
We also provide a function to generate a quick summary table:
IrrepTableGroup[gp, maxdynkinlabel]: generates a summary table of the Dynkin labels, dimensions, and the highest weight vectors for irreps of the group “gp”.
“maxdynkinlabel” is a non-negative integer that sets the maximum value for each component of the Dynkin labels.

Dynkin Labels and Irrep Dimensions


U(1)


SU(n)


SO(n)


Sp(n=2r)


General


Graded (Weyl) characters of the polynomial ring from the building block fields

Graded characters of polynomial rings from the building blocks fields​
Each building block field contributes to the integrand with a determinant factor that corresponds to the graded Weyl character of their polynomial ring.
​
​Syntax for computing graded characters of polynomial rings​
GradedRingChGroup[gp, chvars, BBFlist]: Graded character of the polynomial ring in a set of building block fields “BBFlist” for a group “gp”.
GradedRingChProductGroup[gplist, chvarsGps, BBFlist]: Graded character of the polynomial ring in a set of building block fields “BBFlist” for a product group “gplist”.
​
​Building blocks fields​
Each building block field, “BBF”, is a list that contains three components:
BBF 〚1〛 = the grading variable
BBF 〚2〛 = 0 (Grassmann even) or 1 (Grassmann odd)
BBF 〚3〛 = “irrephwtGps”, which is a list of highest weight vectors.
irrephwtGps = {
irrephwt
1
,
irrephwt
2
, ...}, where each “
irrephwt
k
” specifies the irrep of the k-th factor in the product group.
​
For example, when there is a single group SU(3), we have
a bosonic field ϕ1 that is a fundamental irrep: BBF = { ϕ1, 0, { {1,0} } }
a bosonic field ϕ2 that is an adjoint irrep: BBF = { ϕ2, 0, { {2,1} } }
a fermionic field ψ that is a symmetric two-index irrep: BBF = { ψ, 1, { {2,0} } }
​
For a product group SU(3)×SU(3), we have
a bosonic field ϕ that is (fundamental, adjoint) irrep: BBF = { ϕ, 0, { {1,0}, {2,1} } }
​​
Note that, in the examples above, we are using the same symbol to denote the fields and their grading variables in a slight abuse of notation.
​
A “BBFlist” is a list of “BBF”: BBFlist =
{
BBF
1
,
BBF
2
, ... }.
Compute the list of eigenvalues from a character ch
EigensFromCh[ch_]:=Module[{terms,eigens,multiplicities},​​terms=Flatten[{#/.{Times->List}},1]&/@Flatten[{ch/.{Plus->List}},1];​​eigens=(Times@@DeleteCases[#,_?NumericQ])&/@terms;​​multiplicities=(Times@@Cases[#,_?NumericQ])&/@terms;​​eigens=Flatten[MapThread[Table[#1,#2]&,{eigens,multiplicities}]];​​Return[eigens];​​];
Compute the graded character of the polynomial ring from a list of building block fields for a general group
GradedRingChGroup[gp_,chvars_,BBFlist_]:=Module[{grch},​​grch=Times@@((Times@@Power[1+(2#[[2]]-1)#[[1]]EigensFromCh[WeylChGroup[gp,chvars,#[[3]][[1]]]],2#[[2]]-1])&/@BBFlist);​​Return[grch];​​];
Compute the graded character of the polynomial ring from a list of building block fields for a product group
GradedRingChProductGroup[gplist_,chvarsGps_,BBFlist_]:=Module[{grch},​​grch=Times@@((Times@@Power[1+(2#[[2]]-1)#[[1]]EigensFromCh[WeylChProductGroup[gplist,chvarsGps,#[[3]]]],2#[[2]]-1])&/@BBFlist);​​Return[grch];​​];

2. General Hilbert series calculations

Assistant Functions


Main Functions

Hilbert series​
Hilbert series encodes the group invariants and covariants that are made out of polynomials in a set of building block fields.
​
​Syntax for computing Hilbert series ── Main Functions​
HilbertSeriesBBFGRCh[gplist, chvarsGps, irrephwtGps, BBFgrch]: Hilbert series for an irrep “irrephwtGps” of a product group “gplist” from a set of building block fields.
It takes the graded character of the polynomial ring “BBFgrch” as an input.
HilbertSeriesBBFlist[gplist, chvarsGps, irrephwtGps, BBFlist]: Hilbert series for an irrep “irrephwtGps” of a product group “gplist” from a set of building block fields.
It takes the list of building block fields “BBFlist” as an input.
​
There are a variety of explicit examples provided in Section 3 below.
Main Hilbert series function for a product group that takes the graded polynomial ring character from the building block fields as input
HilbertSeriesBBFGRCh[gplist_,chvarsGps_,irrephwtGps_,BBFgrch_]:=Module{haar,chIrrepCC,integrand,intvars,gradvars,myHS},​​haar=HaarReducedProductGroup[gplist,chvarsGps];​​chIrrepCC=WeylChProductGroup[gplist,chvarsGps,irrephwtGps]/.((#->
-1
#
)&/@Flatten[chvarsGps]);​​integrand=(haar)(chIrrepCC)(BBFgrch);​​intvars=Flatten[chvarsGps];​​gradvars=Select[Variables[BBFgrch],!MemberQ[intvars,#]&];​​myHS=ComputeResidues[integrand,intvars,gradvars];​​Return[myHS];​​;
Main Hilbert series function for a product group that takes the list of building block fields as input
HilbertSeriesBBFlist[gplist_,chvarsGps_,irrephwtGps_,BBFlist_]:=Module[{BBFgrch,myHS},​​BBFgrch=GradedRingChProductGroup[gplist,chvarsGps,BBFlist];​​myHS=HilbertSeriesBBFGRCh[gplist,chvarsGps,irrephwtGps,BBFgrch];​​Return[myHS];​​];

3. Demonstration Examples

Haar measures


Weyl characters

Dynkin Labels and Irrep Dimensions

Highest weight vector for the SU(3) adjoint irrep from its Dynkin labels {1,1}
In[]:=
IrrephwtFromDynkinLabels[SU3,{1,1}]
Out[]=
{2,1}
Dynkin labels for the SU(3) adjoint irrep from its highest weight vector {2,1}
In[]:=
DynkinLabelsFromIrrephwt[SU3,{2,1}]
Out[]=
{1,1}
Dimension of the SU(3) adjoint irrep from its highest weight vector {2,1}
In[]:=
DimIrrephwt[SU3,{2,1}]
Out[]=
8
Highest weight vector for the SU(5) adjoint irrep from its Dynkin labels {1,0,0,1}
In[]:=
IrrephwtFromDynkinLabels[SU5,{1,0,0,1}]
Out[]=
{2,1,1,1}
Dimension of the SU(5) adjoint irrep from its highest weight vector {2,1,1,1}
In[]:=
DimIrrephwt[SU5,{2,1,1,1}]
Out[]=
24
Summary table of Dynkin label, dimension and highest weight vector of SU(3) irreps with maximum dynkin label of 2
In[]:=
IrrepTableGroup[SU3,2]
Out[]=
Summary of SU3 irreps
Dynkin Label
Dimension
Highest weight vector
{0,0}
1
{0,0}
{0,1}
3
{1,1}
{0,2}
6
{2,2}
{1,0}
3
{1,0}
{1,1}
8
{2,1}
{1,2}
15
{3,2}
{2,0}
6
{2,0}
{2,1}
15
{3,1}
{2,2}
27
{4,2}
Summary table of Dynkin label, dimension and highest weight vector of SO(5) irreps with maximum dynkin label of 3
In[]:=
IrrepTableGroup[SO5,3]
Out[]=
Summary of SO5 irreps
Dynkin Label
Dimension
Highest weight vector
{0,0}
1
{0,0}
{0,1}
4

1
2
,
1
2

{0,2}
10
{1,1}
{0,3}
20

3
2
,
3
2

{1,0}
5
{1,0}
{1,1}
16

3
2
,
1
2

{1,2}
35
{2,1}
{1,3}
64

5
2
,
3
2

{2,0}
14
{2,0}
{2,1}
40

5
2
,
1
2

{2,2}
81
{3,1}
{2,3}
140

7
2
,
3
2

{3,0}
30
{3,0}
{3,1}
80

7
2
,
1
2

{3,2}
154
{4,1}
{3,3}
256

9
2
,
3
2

Summary table of Dynkin label, dimension and highest weight vector of SO(6) irreps with maximum dynkin label of 2
In[]:=
IrrepTableGroup[SO6,2]
Out[]=
Summary of SO6 irreps
Dynkin Label
Dimension
Highest weight vector
{0,0,0}
1
{0,0,0}
{0,0,1}
4

1
2
,
1
2
,
1
2

{0,0,2}
10
{1,1,1}
{0,1,0}
4

1
2
,
1
2
,-
1
2

{0,1,1}
15
{1,1,0}
{0,1,2}
36

3
2
,
3
2
,
1
2

{0,2,0}
10
{1,1,-1}
{0,2,1}
36

3
2
,
3
2
,-
1
2

{0,2,2}
84
{2,2,0}
{1,0,0}
6
{1,0,0}
{1,0,1}
20

3
2
,
1
2
,
1
2

{1,0,2}
45
{2,1,1}
{1,1,0}
20

3
2
,
1
2
,-
1
2

{1,1,1}
64
{2,1,0}
{1,1,2}
140

5
2
,
3
2
,
1
2

{1,2,0}
45
{2,1,-1}
{1,2,1}
140

5
2
,
3
2
,-
1
2

{1,2,2}
300
{3,2,0}
{2,0,0}
20
{2,0,0}
rows 1–20 of 28
Summary table of Dynkin label, dimension and highest weight vector of Sp(4) irreps with maximum dynkin label of 2
In[]:=
IrrepTableGroup[Sp4,2]
Out[]=
Summary of Sp4 irreps
Dynkin Label
Dimension
Highest weight vector
{0,0}
1
{0,0}
{0,1}
5
{1,1}
{0,2}
14
{2,2}
{1,0}
4
{1,0}
{1,1}
16
{2,1}
{1,2}
40
{3,2}
{2,0}
10
{2,0}
{2,1}
35
{3,1}
{2,2}
81
{4,2}

Single Group


Product Group


Graded polynomial ring characters

Single Group


Product Group


Hilbert series

Use the Main Function “HilbertSeriesBBFlist[...]”


Use the Main Function “HilbertSeriesBBFGRCh[...]” with “GradedRingChProductGroup[...]” separately done first


4. Hilbert series in Minimal Lepton Flavor Violation (MLFV)

SMEFT -
G
Lf
=
U(3)
l
x
U(3)
e
- S =
{
Y
e
,
†
Y
e
}

Single-graded HS

Setups
In[]:=
Groups={SU3,SU3,U1,U1};​​ChVarsGps={{x1,x2},{y1,y2},{x},{y}};​​YeBBF={q,0,{{1,0},{1,1},{+1},{-1}}};​​YedBBF={q,0,{{1,1},{1,0},{-1},{+1}}};​​BBFGRChYe=GradedRingChProductGroup[Groups,ChVarsGps,{YeBBF,YedBBF}];
HS for Invariants:
H
(1,1)
In[]:=
GoalIrrep={{0,0},{0,0},{0},{0}};​​HilbertSeriesBBFGRCh[Groups,ChVarsGps,GoalIrrep,BBFGRChYe]
Out[]=
-
1
3
(-1+q)
3
(1+q)
(1+
2
q
)(1-q+
2
q
)(1+q+
2
q
)
HS for Covariants of irrep (3,
3
) with charges (+1, -1):
H
(3,
3
)
In[]:=
GoalIrrep={{1,0},{1,1},{+1},{-1}};​​HilbertSeriesBBFGRCh[Groups,ChVarsGps,GoalIrrep,BBFGRChYe]
Out[]=
-
q
3
(-1+q)
3
(1+q)
(1+
2
q
)
HS for Covariants of irrep (8, 1) with charges (0, 0):
H
(8,1)
In[]:=
GoalIrrep={{2,1},{0,0},{0},{0}};​​HilbertSeriesBBFGRCh[Groups,ChVarsGps,GoalIrrep,BBFGRChYe]
Out[]=
-
2
q
3
(-1+q)
3
(1+q)
(1-q+
2
q
)(1+q+
2
q
)
HS for Covariants of irrep (8, 8) with charges (0, 0):
H
(8,8)
In[]:=
GoalIrrep={{2,1},{2,1},{0},{0}};​​HilbertSeriesBBFGRCh[Groups,ChVarsGps,GoalIrrep,BBFGRChYe]
Out[]=
-
2
q
(1+2
2
q
+2
4
q
)
3
(-1+q)
3
(1+q)
(1-q+
2
q
)(1+q+
2
q
)
HS for Covariants of irrep (27, 1) with charges (0, 0):
H
(27,1)
In[]:=
GoalIrrep={{4,2},{0,0},{0},{0}};​​HilbertSeriesBBFGRCh[Groups,ChVarsGps,GoalIrrep,BBFGRChYe]
Out[]=
-
4
q
3
(-1+q)
3
(1+q)
(1+
2
q
)

SMEFT -
G
Lf
=
U(3)
l
x
U(3)
e
- S =
{
Y
e
,
†
Y
e
,
C
5
,
†
C
5
}


νSMEFT -
G
Lf
=
U(3)
l
x
U(3)
e
x
U(3)
ν
- S =
{
Y
e
,
†
Y
e
,
Y
ν
,
†
Y
ν
}


νSMEFT -
G
Lf
=
U(3)
l
x
U(3)
e
x
U(3)
ν
- S =
{
Y
e
,
†
Y
e
,
Y
ν
,
†
Y
ν
,
m
R
,
†
m
R
}


Related articles

[1] For the Hilbert series for covariants: Benjamín Grinstein, Xiaochuan Lu, Luca Merlo, Pablo Quílez (2023), Hilbert series for covariants and their applications to Minimal Flavor Violation, arXiv:2312.13349. https://doi.org/10.48550/arXiv.2312.13349
[2] For the Haar measures and the Weyl characters: arXiv: Henning, B., Lu, X., Melia, T. et al. Operator bases, S-matrices, and their partition functions. J. High Energ. Phys. 2017, 199 (2017). https://doi.org/10.1007/JHEP10(2017)199

CITE THIS NOTEBOOK

Most general EFTs from spurion analysis: Hilbert series and minimal lepton flavor violation​
by Benjamín Grinstein, Xiaochuan Lu, Carlos Miró & Pablo Quílez
Wolfram Community, STAFF PICKS, January 30, 2025
​https://community.wolfram.com/groups/-/m/t/3368395​
​