1 Introduction

The renormalization group (RG) functions are fundamental quantities in quantum field theories (QFTs), governing how the dynamics of models change with energy. The \( \beta \)-functions, in particular, determine the flow of couplings g with the renormalization scale \( \mu \). They are a staple of BSM physics used in grand unification to extrapolate low-energy couplings to the unification scale or to generate mass spectra from high-scale input in supersymmetric models. Other applications involve the study of the ultimate ultraviolet fates of models in the search of fundamental theories (see e.g. [1, 2]). It is, therefore, not surprising that the \( \beta \)-functions were computed to the first few orders in perturbation theory several decades ago. In the general case of four-dimensional gauge-Yukawa theories, they were calculated to the 2-loop order in both gauge, Yukawa, and quartic couplings already in the 80’s [3,4,5,6]. What is perhaps more surprising is that it took another 20 years for the 3-loop result for the gauge \( \beta \)-function [7], which represents the current state-of-the-art in generic theories.

One contributing cause for this measured pace might be that although the general results for the \( \beta \)-function have long been known, it is an often time-consuming endeavor to apply the results to specific models. Typically, model builders write, and work with, their models in terms of various matter fields, each in their separate irreducible representation of the model gauge group. On the other hand, the generic Lagrangian employed in the general result is framed in terms of but one real scalar and one Weyl fermion multiplet in reducible representations of the symmetry, encompassing all the matter fields of the model. Matching the specific model onto the general theory is in principle straightforward; however, in practice, it almost always turns into an arduous exercise and is the primary obstacle in applying the general formulas. Typical computations in the generic framework would be done by explicit construction of the coupling tensors, which are mostly large and sparse. In the SM for instance, the generalized Yukawa coupling \( Y_{aij} \) is a sparse \( 4\times 45 \times 45 \) tensor and the fermion gauge generator \( (T^{A}_\Psi ){}^{i}{}_{j} \) an \( 11 \times 45 \times 45 \) tensor. Every term in the \( \beta \)-functions corresponds to a monomial in these tensors, contracting all internal indices, and computations quickly become computationally expensive and/or cumbersome to set up.

For all of the above reasons, a number of computer tools have been developed for extracting model-specific \( \beta \)-functions, of which RGBeta is but the latest. There is the general-purpose MathematicaFootnote 1 package SARAH 4 [8, 9], which includes a 2-loop implementation of the \( \beta \)-functions based on the original 2-loop formulas [4, 10]. Then there is the dedicated python code PyR@TE 3 [11,12,13], which in its latest iteration, based on the completely general set of basis tensors [14, 15] up to the 3-loop order in the gauge \( \beta \)-function, is blazingly fast. With the PyLie module based on SUSYNO [16], PyR@TE 3 is capable of dealing with arbitrary gauge group representations, but it does not have the flexibility of e.g. using \( \mathrm {SU}(N) \) with N left unspecified. Finally, during the completion of this manuscript, we became aware of the independent, dedicated Mathematica package ARGES [17] with a significant overlap with the scope of RGBeta (even as it pertains to dedicated computation tools for RG functions) and a good degree of flexibility in the implementation of the gauge groups. Internally ARGES is based on the original RG formulation [3,4,5, 7, 10, 18], where RGBeta is based on Ref. [14] implemented with the structure deltas of Ref. [19]. More noticeable to the user, ARGES implements the running of vacuum expectation values [20, 21], whereas RGBeta includes kinetic mixing between Abelian gauge fields. Also recently, the C++ library RGE++ was introduced to provide an easy-to-use framework for numerically solving RG equations in an efficient manner [22]. Although most of the new features of RGBeta has been covered in the latest PyR@TE release and ARGES, we still believe it worthwhile to release this latest tool in the line. With multiple available tools, the user can ultimately choose whichever fits them and their project best. Furthermore, with multiple independent codes, it becomes possible to cross-check the outputs. This is sorely needed considering that in all cases reliability of the output is subject to the user not making any errors in the (often complicated) input. There is also the black-box factor to consider, that is, the implementation in the various programs cannot easily be tested by the users.

RGBeta was originally developed to test the general \( \beta \)-function basis used and developed in Ref. [14] and is used in ongoing work on higher-order \( \beta \)-functions [23]. It is an implementation of the generally applicable \( \overline{\text {MS}} \) \( \beta \)-function formulas for gauge-Yukawa theories presented in Ref. [14], which in turn is an extension of the general 2-loop results [3,4,5,6, 10] and 3-loop gauge \( \beta \)-function [7] to allow for completely generic gauge groups. The new formulas use a revised basis, which easily generalizes to the case with multiple Abelian gauge group factors and has been checked for inconsistencies with the Weyl consistency conditions (cf. Refs. [24,25,26]). RGBeta uses an implicit construction of the general coupling tensors to avoid large sparse tensors in the evaluation, and all group index contractions are evaluated with a handful of simplification rules and Fierz identities. Although this limits the scope of the package to fields in some of the more common representations of the ordinary Lie groups (cf. Sect. 3.4), it does come with the benefit of a usually quick evaluation time and the possibility of leaving group indices unspecified, meaning that it can handle e.g. \( \mathrm {SU}(N) \) groups without fixing N. This makes RGBeta ideal for using in the Mathematica notebook environment, where it is easy for the user to manipulate the output and/or make changes to the model on the fly.

The rest of the paper is organized as follows: the following section details the matching procedure from a specific model to the general framework. It provides background and insight into the underlying procedure but can be skipped by the impatient reader, who wants to learn how to use RGBeta. Section 3 explains the basic objects of the package, installation, and implementation of group theory. Next, Sect. 4 outlines the routines of RGBeta and how to implement a model, using the Standard Model (SM) as a detailed example. Finally, we round off with a short conclusion while the appendix contains more full-fledged documentation of the routines.

2 Formalism

2.1 Generic four-dimensional renormalizable theories

The derivation of the general formulas for \( \beta \)-functions presupposes a certain generic formulation of the QFT. To include all marginal couplings of any four-dimensional theory, the generic Lagrangian (GL) used in the formulation of the general \( \beta \)-function results is compactly put on the form [14]

(2.1)

The Fermion field \( \Psi ^{i} \) is of the Weyl type, as any Dirac spinor can be decomposed into two 2-component spinors. All fermion fields are gathered into this one multiplet in a, generally speaking, reducible representation of the flavor and gauge group, and lower-case Latin indices starting from \( i,j,\ldots \) are used for the fermion indices. The scalar field \( \Phi _a \) is taken to be real: complex fields can be decomposed to real fields but not vice versa. \( \Phi _a \), labeled with small Latin letters beginning with \( a,b, \ldots \), is one multiplet containing all scalar fields and is also generically a reducible representation of the gauge and flavor groups. Finally, all gauge fields are gathered into a multiplet \( A^{A}_\mu \) with upper-case Latin indices \( A, B,\ldots \) running over all adjoint representations of the individual product groups. \( F^{A}_{\mu \nu } \) is the field-strength tensor associated with the corresponding multiplet.

As for the couplings, the Yukawa coupling \( Y_{aij} \) is symmetric in the two fermion indices i and j and the quartic coupling \( \Lambda _{abcd} \) is completely symmetric. The gauge couplings have been absorbed into the gauge kinetic term and placed in the coupling matrix , which is proportional to the identity in the case of a simple gauge group and otherwise block diagonal (except for kinetic mixing terms between Abelian groups).Footnote 2 Thus, the covariant derivatives of the matter fields read

$$\begin{aligned} D_\mu \Phi _a= & {} \partial _\mu \Phi _a - i A^{A}_\mu (T_\Phi ^{A})_{ab} \Phi _b \quad \mathrm {and} \quad \nonumber \\ D_\mu \Psi ^{i}= & {} \partial _\mu \Psi ^{i} - i A^{A}_\mu (T_\Psi ^{A}){}^{i}{}_{j} \Psi ^{j}. \end{aligned}$$
(2.2)

In contrast to the GL, the model builder’s Lagrangian (MBL), as it is commonly used in model building, is written in terms of multiple fields in irreducible representations of the gauge and global symmetry groups of the model. It takes the form

$$\begin{aligned} {\mathcal {L}}= & {} -\tfrac{1}{4} \sum _{n} F_{n,\mu \nu }^{{\mathcal {U}}_n} F^{{\mathcal {U}}_u \mu \nu }_{n} + \sum _\alpha (D_\mu \phi _\alpha )_{{\mathcal {A}}_\alpha }^\dagger (D^{\mu } \phi _\alpha )^{{\mathcal {A}}_\alpha }\nonumber \\&+ i \sum _\rho (\psi _\rho ^{\dagger })_{{\mathcal {I}}_\rho } {\bar{\sigma }}^\mu (D_\mu \psi _\rho )^{{\mathcal {I}}_\rho } \nonumber \\&-\!\! \sum _{\mathrm {couplings}} \! \left( y_{{\mathcal {A}}_\alpha {\mathcal {I}}_\rho {\mathcal {J}}_\sigma } \phi _\alpha ^{{\mathcal {A}}_\alpha } \psi _\rho ^{\mathcal {I_\rho }} \psi _\sigma ^{{\mathcal {J}}_\sigma } \; + \; \mathrm {H.c.} \;\right) \nonumber \\&- \!\! \sum _{\mathrm {couplings}} \! \lambda _{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta {\mathcal {C}}_\gamma {\mathcal {D}}_\delta } \phi _\alpha ^{{\mathcal {A}}_\alpha } \phi _\beta ^{{\mathcal {B}}_\beta } \phi _\gamma ^{{\mathcal {C}}_\gamma } \phi _{\delta }^{{\mathcal {D}}_\delta }, \end{aligned}$$
(2.3)

where n labels the various products of the gauge group \( G = \times _n G_n \), and all repeated indices are summed over. This notation is generalized and – unfortunately – rather incomprehensible at a glance.Footnote 3 The Greek subscripts on the fields label the various irreducible representations of the scalar and fermion fields. Each field has a set of indices collectively denoted with a calligraphic letter, which comprises all gauge and flavor indices of the respective fields. As an example, the SM left-handed quark doublet would be written as \( \psi _q^{{\mathcal {I}}_q} \) with the collective index \( {\mathcal {I}}_q = (i, c, \alpha ) \) labeling generation, color, and isospin. For the gauge fields, \( A_n^{{\mathcal {U}}_n \mu } \) is the field of product group \( G_n \) with corresponding adjoint index \( {\mathcal {U}}_n \). To apply known results and extract the \( \beta \)-functions for the coupling in the MBL, one must construct a mapping between it and the GL.

2.2 Mapping onto the generic Lagrangian

Let us proceed with the construction of a mapping of the MBL onto the GL. One approach would be to do an explicit construction of the \( \Phi _a \) and \( \Psi ^i \) multiplets with each entry being filled with a particular gauge and flavor component of the fields \( \phi _\alpha \) and \( \psi _\rho \).Footnote 4 Instead, we will employ and expand on the use of the structure deltas introduced by Mølgaard [19] in an approach that allows for treating most sums (matrix multiplications) of the program in a mostly implicit manner.

The peculiar form of the gauge kinetic term in the GL (2.1) is a compact way of including all the product groups of a generic semi-simple gauge group \( G = \times _n G_n \). The gauge couplings have been placed in the kinetic term of the gauge fields by rescaling the gauge fields . Next, all the gauge fields are collected into a single multiplet \( A^{A}_\mu \). The structure deltas \( \Delta [A_n] \) are introduced as projection operators satisfying

$$\begin{aligned}&A_{n\mu }^{{\mathcal {U}}_n} = \Delta [A_n]^{{\mathcal {U}}_n A} A^{A}_\mu \quad \mathrm {and} \quad \nonumber \\&A^{A}_\mu = \sum _{n} A_{n\mu }^{{\mathcal {U}}_n} \Delta [A_n]^{{\mathcal {U}}_n A}. \end{aligned}$$
(2.4)

As projection operators they fulfill the completeness relations

$$\begin{aligned} \Delta [A_m]^{{\mathcal {U}}_m A} \Delta [A_n]^{{\mathcal {V}}_n A}= & {} \delta _{mn} \delta ^{{\mathcal {U}}_m {\mathcal {V}}_n} \quad \mathrm {and} \quad \nonumber \\ \sum _n \Delta [A_n]^{{\mathcal {U}}_n A} \Delta [A_n]^{{\mathcal {U}}_n B}= & {} \delta ^{AB}. \end{aligned}$$
(2.5)

Using the structure delta, one may write the gauge kinetic term

(2.6)

by identifying

(2.7)
(2.8)

for the gauge couplings and group structure constants, respectively. One may think of as a block diagonal matrix, where gauge invariance ensures that the value of the coupling is the same for all the gauge fields across the adjoint representation of any one of the product groups \( G_n \). The gauge self-interactions always depend on the generalized structure constant \( F_{ABC} \), which also vanish between gauge fields of different product groups.

Moving on to the interactions with matter fields, the structure deltas are implemented with the purpose of projecting out the specific fields (in the phenomenological sense) \( \phi _\alpha \) or \( \psi _\rho \) from the general multiplets \( \Phi \) or \( \Psi \), respectively. We define them by

$$\begin{aligned} \phi _\alpha ^{{\mathcal {A}}_\alpha }&= \dfrac{1}{\sqrt{2}} \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{a} \, \Phi _a, \nonumber \\ \Phi _a&= \dfrac{1}{\sqrt{2}} \sum _\alpha \left( \Delta [\phi _\alpha ^\dagger ]_{a{\mathcal {A}}_\alpha } \phi _\alpha ^{{\mathcal {A}}_\alpha } + \Delta [\phi ] {}^{{\mathcal {A}}_\alpha }{}_{a} \phi ^*_{\alpha ,{\mathcal {A}}_\alpha } \right) , \end{aligned}$$
(2.9)
$$\begin{aligned} \psi _\rho ^{{\mathcal {I}}_\rho }&= \Delta [\psi _\rho ]{}^{\mathcal {I_\rho }}{}_{i} \,\Psi ^{i},\nonumber \\ \Psi ^{i}&= \sum _\rho \Delta [\psi _\rho ^{\dagger }] {}^{i}{}_{{\mathcal {I}}_\rho } \,\psi _\rho ^{{\mathcal {I}}_\rho }, \end{aligned}$$
(2.10)

where e.g. \( (\Delta [\phi _\alpha ]^{\dagger })_{a {\mathcal {A}}_\alpha } = \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } \). The \( \sqrt{2} \) accounts for the different normalization of the kinetic terms of the real and complex scalar fields. Since no degrees of freedom are lost or gained from packing the fields into multiplets, the structure deltas obey the usual summation rules for projection matrices:

$$\begin{aligned}&\Delta [\phi _\alpha ]{}^{{\mathcal {A}}_\alpha }{}_{a} \Delta [\phi _\beta ^{\dagger }]_{a {\mathcal {B}}_\beta } = 2 \delta _{\alpha \beta } \delta {}^{{\mathcal {A}}_\alpha }{}_{{\mathcal {B}}_\alpha },\nonumber \\&\sum _\alpha \left( \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{b} + \Delta [\phi _\alpha ^{\dagger }]_{b {\mathcal {A}}_\alpha } \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{a}\right) = 2 \delta _{ab}, \nonumber \\&\Delta [\psi _\rho ] {}^{{\mathcal {I}}_\rho }{}_{i} \Delta [\psi _\sigma ^{\dagger }] {}^{i}{}_{{\mathcal {J}}_\sigma } = \delta _{\rho \sigma } \delta {}^{{\mathcal {I}}_\rho }{}_{{\mathcal {J}}_\rho },\nonumber \\&\sum _\rho \Delta [\psi _\rho ^{\dagger }] {}^{i}{}_{{\mathcal {I}}_\alpha } \Delta [\psi _\rho ] {}^{{\mathcal {I}}_\alpha }{}_{j} = \delta {}^{i}{}_{j}. \end{aligned}$$
(2.11)

As one would expect, the complex scalars satisfyFootnote 5

$$\begin{aligned} \Delta [\phi _\alpha ]{}^{{\mathcal {A}}_\alpha }{}_{a} \Delta [\phi _\beta ]{}^{{\mathcal {B}}_\beta }{}_{a} = 0 . \end{aligned}$$
(2.12)

Using the structure deltas, the interaction terms of the MBL can be recast as

$$\begin{aligned} \begin{aligned}&{\mathcal {L}}\supset - \dfrac{1}{\sqrt{2}} \sum _\mathrm {couplings} \left( y_{{\mathcal {A}}_\alpha {\mathcal {I}}_\rho {\mathcal {J}}_\sigma } \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{a} \right. \\&\left. \quad \times \Delta [\psi _\rho ] {}^{{\mathcal {I}}_\rho }{}_{i} \Delta [\psi _\sigma ] {}^{{\mathcal {J}}_\sigma }{}_{j} \Psi ^i \Psi ^j \; + \; \mathrm {H.c.} \;\right) \Phi _a \\&\quad - \dfrac{1}{4} \sum _{\mathrm {couplings}} \lambda _{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta {\mathcal {C}}_\gamma {\mathcal {D}}_\delta } \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{a} \Delta [\phi _\beta ] {}^{{\mathcal {B}}_\beta }{}_{b} \Delta [\phi _\gamma ] {}^{{\mathcal {C}}_\gamma }{}_{c} \\&\quad \times \Delta [\phi _\delta ] {}^{{\mathcal {D}}_\delta }{}_{d} \Phi _a \Phi _b \Phi _c \Phi _d. \end{aligned} \end{aligned}$$
(2.13)

Through direct comparison with the GL (2.1), one then finds

$$\begin{aligned} Y_{aij}&= \dfrac{1}{\sqrt{2}} \sum _{\left\{ i,j \right\} } \sum _\mathrm {couplings} y_{{\mathcal {A}}_\alpha {\mathcal {I}}_\rho {\mathcal {J}}_\sigma } \Delta [\phi _\alpha ]{}^{{\mathcal {A}}_\alpha }{}_{a} \Delta [\psi _\rho ] {}^{{\mathcal {I}}_\rho }{}_{i} \nonumber \\&\quad \times \Delta [\psi _\sigma ] {}^{{\mathcal {J}}_\sigma }{}_{j}, \end{aligned}$$
(2.14)
$$\begin{aligned} \Lambda _{abcd}&= \dfrac{1}{4} \sum _{\left\{ a, b, c, d \right\} } \sum _\mathrm {couplings} \lambda _{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta {\mathcal {C}}_\gamma {\mathcal {D}}_\delta } \Delta [\phi _\alpha ] {}^{{\mathcal {A}}_\alpha }{}_{a} \Delta [\phi _\beta ] \nonumber \\&\quad \times {}^{{\mathcal {B}}_\beta }{}_{b} \Delta [\phi _\gamma ] {}^{{\mathcal {C}}_\gamma }{}_{c} \Delta [\phi _\delta ] {}^{{\mathcal {D}}_\delta }{}_{d}. \end{aligned}$$
(2.15)

The sums over \( \left\{ i,j \right\} \) and \( \left\{ a, b, c, d \right\} \) are taken to be over all 2 and 24 permutations of the indices, respectively. In a similar manner, the kinetic terms can be made to match the GL form by inserting an identity with a pair of structure deltas. For the fermions it follows that

$$\begin{aligned}&\sum _{\rho } \Delta [\psi _\rho ^\dagger ] {}^{i}{}_{{\mathcal {I}}_\rho } (D_\mu \psi _\rho )^{{\mathcal {I}}_\rho } \nonumber \\&\quad = \bigg ( \delta {}^{i}{}_{j} \partial _\mu -i A_\mu ^{A} \sum _\rho \Delta [\psi _\rho ^\dagger ] {}^{i}{}_{{\mathcal {I}}_\rho } (T^{A}_\rho ){}^{{\mathcal {I}}_\rho }{}_{{\mathcal {J}}_\rho } \Delta [\psi _\rho ] {}^{{\mathcal {J}}_\rho }{}_{j} \bigg ) \Psi ^{j},\nonumber \\ \end{aligned}$$
(2.16)

which allows for identifying the gauge generator \( (T^A_\Psi ){}^{i}{}_{j} \) of the fermion field multiplet. For the scalars there is a small complication due to the matching from real to complex fields. Observe first that the scalar kinetic term can be put on the form

$$\begin{aligned}&\sum _\alpha (D_\mu \phi _\alpha ^{\dagger })_\mathcal {A_\alpha } (D^\mu \phi _\alpha )^\mathcal {A_\alpha } \nonumber \\&\quad = \dfrac{1}{4} \sum _{\alpha , \beta } \left[ (D_\mu \phi _\alpha ^{\dagger })_\mathcal {A_\alpha } \Delta [\phi _\alpha ]{}^{{\mathcal {A}}_\alpha }{}_{a} \; + \; \mathrm {H.c.} \;\right] \nonumber \\&\qquad \times \left[ \Delta [\phi _\beta ^{\dagger }]_{a {\mathcal {B}}_\beta } (D^\mu \phi _\beta )^\mathcal {B_\beta } \; + \; \mathrm {H.c.} \;\right] . \end{aligned}$$
(2.17)

Only then do we match to the GL, with

$$\begin{aligned} \begin{aligned}&\tfrac{1}{2} \sum _\alpha \left[ \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } (D_\mu \phi _\alpha )^\mathcal {A_\alpha } \; + \; \mathrm {H.c.} \;\right] \\&\quad = \dfrac{1}{2\sqrt{2}} \sum _\alpha \left( \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } D_\mu {}^{{\mathcal {A}}_\alpha }{}_{{\mathcal {B}}_\alpha } \Delta [\phi _\alpha ]{}^{{\mathcal {B}}_\alpha }{}_{b} \; + \; \mathrm {H.c.} \;\right) \Phi _b\\&\quad = \dfrac{1}{\sqrt{2}} \bigg ( \delta _{ab} \partial _\mu - \dfrac{i}{2} A_\mu ^{A} \sum _\alpha \left[ \Delta [\phi ^{\dagger }_\alpha ] _{a{\mathcal {A}}_\alpha } (T^{A}_\alpha ) {}^{{\mathcal {A}}_\alpha }{}_{{\mathcal {B}}_\alpha }\right. \\&\left. \quad \Delta [\phi _\alpha ]{}^{{\mathcal {B}}_\alpha }{}_{b} - (a \leftrightarrow b) \right] \! \bigg ) \Phi _b. \end{aligned} \end{aligned}$$
(2.18)

From here we can identify the generators \( (T^{A}_\Phi )_{ab} \) of the generic scalar multiplet. They are antisymmetric in ab as indeed they should be for any real representation.

It should be mentioned that any MBL could, of course, contain real scalars in addition to (or instead of) the complex ones. The formalism presented here is easily extended to accommodate such cases by identifying \( \Delta [\phi _\alpha ] \) and \( \Delta [\phi _\alpha ^\dagger ] \) for the appropriate fields and getting rid of the corresponding \( \sqrt{2} \). One great advantage of using the structure deltas is that they never need to be constructed explicitly as matrices. It is sufficient to invoke the completeness relations whenever GL indices are contracted to obtain a sum of contractions with MBL indices.

2.3 \( \beta \)-functions

Having established a mapping procedure between the MBL and GL, the known results for the Beta functions [3,4,5,6,7, 10] can be applied to determine the \( \beta \)-functions. Specifically, the implementation of the \( \beta \)-functions in RGBeta uses the form given in [14], as it supports completely generic gauge groups including the effects of kinetic mixing up to the 3-loop order. In the GL notation, the general formula for the \( \beta \)-functions produces

$$\begin{aligned} \beta _{AB}= & {} \dfrac{\mathop {}\!\mathrm {d}a_{AB}}{\mathop {}\!\mathrm {d}t}, \qquad \beta _{aij} = \dfrac{\mathop {}\!\mathrm {d}Y_{aij}}{\mathop {}\!\mathrm {d}t}, \quad \mathrm {and} \quad \nonumber \\ \beta _{abcd}= & {} \dfrac{\mathop {}\!\mathrm {d}\Lambda _{abcd}}{\mathop {}\!\mathrm {d}t}, \qquad t=\ln \mu \end{aligned}$$
(2.19)

in terms of the couplings \( a_{AB} \), \( Y_{aij} \), and \( \Lambda _{abcd} \) and gauge group generators \( (T_\Phi ^A)_{ab} \), \( (T_\Psi ^{A}){}^{i}{}_{j} \), and \( F_{ABC} \). As we saw, all of these objects can be expressed with their MBL counterparts and structure deltas, leaving only the task of projecting the generic \( \beta \)-functions back onto the specific couplings of the MBL.

The structure deltas are applied to map back from GL \( \beta \)-functions to the \( \beta \)-functions of the specific MBL couplings. For the gauge couplings we invert Eq. (2.7), giving

$$\begin{aligned} \dfrac{\mathop {}\!\mathrm {d}g_n^2}{\mathop {}\!\mathrm {d}t} = \dfrac{1}{d(G_n)} \beta _{AB} \Delta [A_n]_{A {\mathcal {U}}_n } \Delta [A_n]_{B {\mathcal {U}}_n }. \end{aligned}$$
(2.20)

For the Yukawa and quartic interactions, a similar comparison to Eqs. (2.14) and (2.15) shows that

$$\begin{aligned}&\dfrac{\mathop {}\!\mathrm {d}y_{{\mathcal {A}}_\alpha {\mathcal {I}}_\rho {\mathcal {J}}_\sigma }}{\mathop {}\!\mathrm {d}t}\nonumber \\&\quad = \dfrac{1}{\sqrt{2} S_2(\rho , \sigma )} \beta _{aij} \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } \Delta [\psi _\rho ^{\dagger }]_{i {\mathcal {I}}_\rho } \Delta [\psi _\sigma ^{\dagger }]_{j {\mathcal {J}}_\sigma }, \end{aligned}$$
(2.21)
$$\begin{aligned}&\dfrac{\mathop {}\!\mathrm {d}\lambda _{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta {\mathcal {C}}_\gamma {\mathcal {D}}_\delta }}{\mathop {}\!\mathrm {d}t}\nonumber \\&\quad = \dfrac{1}{4 S_4(\alpha , \beta , \gamma , \delta )} \beta _{abcd} \Delta [\phi _\alpha ^{\dagger }]_{a {\mathcal {A}}_\alpha } \Delta [\phi _\beta ^{\dagger }]_{a {\mathcal {B}}_\beta } \Delta [\phi _\gamma ^{\dagger }]_{a {\mathcal {C}}_\gamma } \Delta [\phi _\delta ^{\dagger }]_{a {\mathcal {D}}_\delta }. \end{aligned}$$
(2.22)

Here we must introduce symmetry factors \( S_n \) to compensate for double counting when multiple fields coincide.Footnote 6 Contrary to the gauge \( \beta \)-function, both the Yukawa and quartic \( \beta \)-functions still have free indices. Some of these are coupling indices, such as the generation indices on the SM Yukawa couplings, and should be retained. However, all free gauge (and flavor indices irrelevant to said coupling) will have to be projected out.

One should keep in mind a potential problem in projecting out the remaining symmetry indices of Eqs. (2.21) and (2.22). If the gauge and global symmetry representations of the fields allow for multiple invariants, the naive projection of one coupling may have a non-trivial overlap with the others. In such cases, one must take care to define linear combinations that pick out particular couplings. One example where this becomes relevant is in the single-trace/double-trace terms in quartic potentials.

2.4 Treatment of other renormalization group functions

We should like to make some additional comments regarding what RG functions can be extracted with the methods discussed in this section. First of all, as pointed out in Ref. [14], the formulation of the gauge Lagrangian with a matrix gauge coupling generalizes easily to include kinetic mixing terms between multiple Abelian gauge groups, making it possible to treat any gauge group. In contrast to previous formulations of the kinetic-mixing as something other than the gauge coupling [27, 28], we can include it by allowing for a matrix gauge coupling between all Abelian field-strength tensors in the gauge potential: , where rs run over all Abelian gauge fields. This includes all information of the mixing between the groups, and \( h_{rs} \) can be embedded as a block in the general gauge coupling \( a_{AB} \).

Thus far we have only discussed the \( \beta \)-functions of the marginal couplings. Relevant couplings are also allowed in renormalizable theories, and their running is also governed by \( \beta \)-functions. The most general Lagrangian term for the relevant couplings take the form

$$\begin{aligned} {\mathcal {L}}_\mathrm {rel}= & {} -\tfrac{1}{2} \big (M_{ij} \Psi ^i \Psi ^j \; + \; \mathrm {H.c.} \;\big ) - \tfrac{1}{2} m^2_{ab} \Phi _a \Phi _b \nonumber \\&- \tfrac{1}{6} h_{abc} \Phi _a \Phi _b \Phi _c, \end{aligned}$$
(2.23)

in the GL or

$$\begin{aligned} {\mathcal {L}}_\mathrm {rel}= & {} -\sum _{\mathrm {masses}} \left( M_{{\mathcal {I}}_\rho {\mathcal {J}}_\sigma } \psi _\rho ^{\mathcal {I_\rho }} \psi _\sigma ^{{\mathcal {J}}_\sigma } \; + \; \mathrm {H.c.} \;\right) \nonumber \\&- \sum _{\mathrm {masses}} m^2_{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta } \phi _\alpha ^{{\mathcal {A}}_\alpha } \phi _\beta ^{{\mathcal {B}}_\beta }\nonumber \\&- \!\! \sum _{\mathrm {couplings}} h_{{\mathcal {A}}_\alpha {\mathcal {B}}_\beta {\mathcal {C}}_\gamma } \phi _\alpha ^{{\mathcal {A}}_\alpha } \phi _\beta ^{{\mathcal {B}}_\beta } \phi _\gamma ^{{\mathcal {C}}_\gamma } \end{aligned}$$
(2.24)

in the MBL. The structure delta technique can be applied to establish a mapping between the GL and MBL relevant terms in a similar manner to what was just discussed for the marginal couplings.

The actual \( \beta \)-functions for the relevant terms can be recovered from the Yukawa and quartic \( \beta \)-functions using the dummy field method [10, 29]. It entails introducing non-dynamic faux scalar fields to the relevant couplings to match them with marginal couplings whose \( \beta \)-functions can then be used for the relevant couplings. The main pitfall is that as the faux field is not dynamical, it does not receive any field-strength renormalization; all such contributions have to be removed from the corresponding \( \beta \)-function. At the 2-loop order, one can unambiguously identify what terms in the \( \beta \)-function basis corresponds to the (neutral) scalar field anomalous dimensions, and these can therefore be removed without any specific knowledge of the underlying loop calculation. This method was also used by Sartore [15] for the new \( \beta \)-function basis [14].

The anomalous dimension of the matter fields are also known up to the 2-loop order. For a matter field \( \eta \), the bare field is related to the renormalized field by

$$\begin{aligned} \eta _0 = Z_\eta \eta , \end{aligned}$$
(2.25)

where \( Z_\eta \) is the field-strength renormalization. The anomalous dimension of the field is then given as

(2.26)

The general 2-loop expressions found in Luo et al. [10] are easily adapted to the notation of Ref. [14] used in RGBeta. It should be pointed out that \( \gamma _\eta \) is gauge dependent, and that they have been computed using the \( R_\xi \) gauges (with \( \xi =0 \) being the Lorenz/Landau gauge and \( \xi =1 \) the Feynman gauge).

3 Package overview

3.1 RGBeta in a nutshell

RGBeta is a Mathematica package aimed at allowing theorists to easily extract the \( \overline{\text {MS}} \) \( \beta \)-functions of their favorite models, be it for BSM physics or field-theoretic applications. The package implements the state-of-the-art \( \beta \)-functions for general four-dimensional renormalizable theories, which are known up to loop order 3–2–2, for gauge, Yukawa, and quartic couplings, respectively. The intent is to provide Mathematica users with an easy-to-use, one-stop implementation of the \( \beta \)-function formulas directly in Mathematica, which is already widely used in the community for many computer-algebra tasks. Specifying a model to the package can be done in a rather compact manner and can easily be done directly in a Mathematica notebook, in which the user can proceed to extract and manipulate the various \( \beta \)-functions. The \( \beta \)-functions can be obtained modularly for the users who wish to experiment with them in the Mathematica notebook environment.

The core of RGBeta is set up to evaluate the tensor structures of the general \( \beta \)-function formulas with Einstein summation conventions and various group identities. This approach is similar to what a person might do and is effective because many of the index contractions are in fact Kronecker deltas or group generators, which can be contracted with the pattern matching functionality of Mathematica. The performance of this strategy is generally very good, evaluating e.g. the full set of SM \( \beta \)-functions to highest loop order in less than 10 seconds on a decent laptop.Footnote 7,Footnote 8 On top of that, it allows the user to keep the number of colors or generations arbitrary during the evaluation. The price of the implementation strategy is that it does require hard-coding various representation-specific identities. For this reason, only a selection of common representations have presently been implemented; cf. Sect. 3.4.

3.2 Definition of the \( \beta \)-functions

It pays to be explicit about the definition of the \( \beta \)-functions used in RGBeta, as many different normalizations are used throughout the literature. To reiterate, the package exclusively provides the \( \overline{\text {MS}} \) (or equivalently MS) \( \beta \)-functions. In all cases we associate a loop expansion to the \( \beta \)-functions, writing

$$\begin{aligned} \beta _g = \sum _\ell \dfrac{\beta _g^{(\ell )}}{(4\pi )^{2\ell }}. \end{aligned}$$
(3.1)

For all non-gauge couplings, both relevant and marginal, the \( \beta \)-functions are defined as the logarithmic derivative of the coupling wrt. the renormalization scale:

$$\begin{aligned} \beta _g = \dfrac{\mathop {}\!\mathrm {d}}{\mathop {}\!\mathrm {d}\ln \mu } {\left\{ \begin{array}{ll} y_{aij} &{} \text {for } g = y\in \left\{ \mathrm {Yukawas} \right\} \\ \lambda _{abcd} &{} \text {for } g = \lambda \in \left\{ \mathrm {quartics} \right\} \end{array}\right. } \end{aligned}$$
(3.2)

and

$$\begin{aligned} \beta _g = \dfrac{\mathop {}\!\mathrm {d}}{\mathop {}\!\mathrm {d}\ln \mu } {\left\{ \begin{array}{ll} M_{ij} &{} \text {for } g = M\in \left\{ \text {fermion masses} \right\} \\ m^2_{ab} &{} \text {for } g = m^2\in \left\{ \text {scalar masses} \right\} \\ h_{abc} &{} \text {for } g = h \in \left\{ \mathrm {trilinears} \right\} \end{array}\right. }, \end{aligned}$$
(3.3)

where the ordering of flavor indices corresponds to the ordering of fields in the associated coupling. In all cases, the coupling will be the reference name of the \( \beta \)-function used in the package.

The only deviation from this pattern of \( \beta \)-function definitions is the gauge couplings. We will assume that the kinetic terms of the gauge fields and their \( \beta \)-functions are normalized as

$$\begin{aligned} {\mathcal {L}}\supset \sum _n -\dfrac{1}{4 g_n^2} (F_n^{{\mathcal {U}}_n,\mu \nu })^2, \qquad \beta _{g_n} = \dfrac{\mathop {}\!\mathrm {d}g_n^2}{\mathop {}\!\mathrm {d}\ln \mu } \end{aligned}$$
(3.4)

for the fields of non-Abelian gauge groups or the Abelian gauge group in a model with at most one Abelian group. For a model with multiple Abelian gauge groups, which therefore features kinetic mixing, the kinetic term for all the Abelian gauge fields is written jointly as

(3.5)

where \( h_{ij} \) is the symmetric coupling matrix.Footnote 9 The \( \beta \)-function \( \beta _h \) of the coupling matrix contains all information of the running of couplings and mixing. With the normalization of the gauge fields employed in this notation, the covariant derivative of a matter field can be written as

$$\begin{aligned} D_\mu \eta = \partial _\mu \eta - i \sum _n A_{n,\mu }^{{\mathcal {U}}_n} T^{{\mathcal {U}}_n}_n \eta - i \sum _r q_r A_{r,\mu } \eta , \end{aligned}$$
(3.6)

where \( T^{A}_n \) are Hermitian generators of the non-Abelian representations and \( q_i \) Abelian charges. In particular, using a coupling matrix for the Abelian kinetic term allows for keeping the coupling of the Abelian gauge fields to the matter fields “diagonal”.

The matter field anomalous dimensions are loop expanded as well, parameterizing

$$\begin{aligned} \gamma _\eta = \sum _\ell \dfrac{\gamma _\eta ^{(\ell )}}{(4\pi )^{2\ell }} \, . \end{aligned}$$
(3.7)

They are defined in Eq. (2.26), and the indices in RGBeta are

$$\begin{aligned} \gamma _\eta = {\left\{ \begin{array}{ll} \gamma {}^{i}{}_{j} &{} \text {for } \eta \in \left\{ \text {fermions} \right\} \\ \gamma _{ab} &{} \text {for } \eta \in \left\{ \text {scalars} \right\} \end{array}\right. }, \end{aligned}$$
(3.8)

all calculated in the \( R_\xi \) gauges.

3.3 Installation

RGBeta can be installed directly to the folder in Mathematica’s

figure b
figure c

in a Mathematica notebook. Once installed, the package can be loaded into the kernel of any notebook with

figure d

As an alternative to a true installation, RGBeta can be downloaded from the GitHub repository github.com/aethomsen/RGBeta. It can then be loaded by simple plug-and-play: put the package in any directory, point a Mathematica notebook in the right direction, and load the package. Most simply, RGBeta can be loaded from a Mathematica notebook in the base directory of the package (the one with README.md) with

figure e

In all cases, RGBeta ought to be loaded into a freshly initialized Mathematica kernel to avoid clashing symbol definitions.

3.4 Group theory

RGBeta is set up to evaluate the tensor structures in the \( \beta \)-function formulas in a manner similar to what a person would do if asked to use the 1-loop formulas by hand for a particular model (something which is typically doable with a bit of patience). That is to say, it avoids all explicit summation/matrix multiplication, except over the various field types, in favor of relying on implicit summation with Einstein summation convention for gauge and flavor indices. This is possible, and fast, for several of the common representations for the ordinary Lie groups, where gauge indices are typically contracted with Kronecker deltas or generators of the fundamental representations, which can be dealt with using Fierz identities. This approach has the benefit that it allows for keeping e.g. the index of the gauge group unspecified throughout the evaluation.

Table 1 List of various symbols used in RGBeta and their meaning. For details of the various representation we refer to Table 2

Using implicit summation, RGBeta is set up with a number of symbols with internal summation rules set as Mathematica up-values,Footnote 10 a list of which is presented in Table 1. The most basic symbol used in the package is the Kronecker delta \( \delta _{ab} \), which is represented by with the first argument specifying the type of the indices ab. The summation conventions assigned to the Kronecker delta makes contractions evaluate as e.g.

figure y

for any representation . Identically named indices of different types do not contract, so e.g.

figure aa

allowing for reusing index names.

Table 2 Group constants for the Lie Groups representations implemented in RGBeta: \( {\mathbf {N}} \) for fundamental, \( {\mathbf {G}} \) for adjoint, \( {\mathbf {S}}_2 \) for two-index symmetric (traceless in the case of \( \mathrm {SO}(N) \)), and \( {\mathbf {A}}_2 \) for two-index antisymmetric representations (vanishing upon contraction with \( \epsilon _{ab} \) in the case of \( \mathrm {Sp}(N) \)). The group representations are all referred to by in RGBeta, where is the user-chosen name for the group of the specific type. Conjugate representations are referred to as

The up-value approach is extended to the treatment of gauge generators with rules for simplifying to group constants. With an irreducible representation of group , RGBeta therefore gives

figure at

Here is the value of the quadratic Casimir of the representation, and is the trace normalization/Dynkin index. The values of Casimir operators and Dynkin indices are predefined for all the implemented representations and are available in Table 2.

The tensor structures used for the 3–2–2 \( \beta \)-functions have been chosen such as to minimize the occurrence of non-trivial group structures stemming from the gauge groups [14]. Despite this, there remains a couple of them that cannot be evaluated by identifying factors of quadratic Casimir operators or Dynkin indices. These tensors are dealt with by implementing the Fierz identities of the fundamental representations of the groups (Table 3). In the SM, these are necessary in the 3-loop gauge \( \beta \)-functions and the quartic \( \beta \)-function already from 1-loop order.

The need for Fierz identities and systematic symbolic treatment of group invariants are the main obstacles to implementing arbitrary representations of the gauge groups. At present RGBeta is, thus, restricted to the representations and groups listed in Table 2. In addition to fundamental and adjoint representations, \( {\mathbf {N}} \) and \( {\mathbf {G}} \), of the ordinary groups, it includes the two-index symmetric and antisymmetric, \( {\mathbf {S}}_2 \) and \( {\mathbf {A}}_2 \), of \( \mathrm {SU}(N) \); the traceless two-index symmetric \( {\mathbf {S}}_2 \) of \( \mathrm {SO}(N) \); and the two-index antisymmetric that vanishes upon contraction with \( \epsilon _{ab} \), \( {\mathbf {A}}_2 \), of \( \mathrm {Sp}(N) \). For all these representations, the generators can be decomposed in terms of the generators of the fundamental representation after which the Fierz identities can be employed. The \( \mathrm {U}^n(1) \) groups support representations with any charge assignments. The limit to these few, if frequently used, representations of the Lie groups is the primary limitation of RGBeta. None of the exceptional Lie groups or their representations are presently implemented.

Table 3 Fierz identities for the fundamental representations of the ordinary, compact Lie groups. We employ the convention \( \epsilon _{ij} = \epsilon ^{ji} \)

The 2-index representations \( \mathbf {A}_2\) and \( \mathbf {S}_2 \) are implemented using a single index in RGBeta (when referring to them as 2-index representation, it is because they can be written in terms of 2 fundamental indices, similar to how an adjoint representation can be written with a fundamental and an anti-fundamental index). We need a way to contract e.g. the \( \mathbf {A}_2 \) label with two fundamental indices to use as an invariant in various interactions. For this purpose RGBeta includes the Clebsch–Gordan coefficients and (Table 1). These are really just shortcuts and could easily be constructed using the regular by accessing the “subindices” and of e.g. the \( \mathbf {A}_2 \) index . Thus, can be reproduced as - for any group with an \( \mathbf {A}_2 \) representation (similarly for \(\mathbf {S}_2 \)). It is always preferred to use and directly, as they have additional internal identities.

3.5 Validation of the program

Like any other computer tool, RGBeta is for all intents a black box to the user. It does not matter that the underlying theory is sound, if there is a mistake in the implementation, something which can easily go unnoticed. To avoid this kind of errors, we have validated RGBeta against several results from literature and PyR@TE 3. The RGBeta implementation of all the models used for validation are included with the package in .

First, we compared directly with the SM and type-III 2HDM (two-Higgs-doublet model) computation [30] up to order 3–2–1 with matrix Yukawa couplings. This comparison allowed us to settle a discrepancy in the 2-loop Yukawa \( \beta \)-function between Refs. [4, 6, 10, 14], settling in favor of Refs. [6, 14] (recall that RGBeta is based on Ref. [14]).Footnote 11 The terms in question are degenerate in the SM but not in the 2HDM. Furthermore, a comparison with the 2HDM result [30] revealed a typo in the 3-loop gauge \( \beta \)-functions of their result, which has since been fixed. We also have agreement with the 2-loop SM quartic result of Ref. [31].

To test the handling of unspecified gauge and flavor groups, we reproduced the 3–2–1 \( \beta \)-functions of the Litim-Sannino model, keeping \( N_f \) and \( N_c \) as free variables, and found complete agreement with Ref. [2]. The implementation of gauge kinetic mixing was tested in the SM with a gauged \( \mathrm {U}(1)_{B-L} \) symmetry (see e.g. [32]) against the PyR@TE 3 results [11]. Likewise, we compared the results for the \( \mathrm {SU}(5) \) grand unified theory (GUT).Footnote 12 In both cases complete agreement was found up to order 3–2–2.

4 Using RGBeta

This section describes how to use RGBeta in some detail. We heartily recommend prospective users to have a look at the tutorial notebook , which illustrates some practical use cases in the form of the SM and Litim-Sannino model [2] with comments.

4.1 Package routines

To use the RGBeta package, one should start by specifying a model. First, the user should define symmetries of the model with the routines

\(\blacksquare \):

defines a gauge group of type with reference name and associated ;

\(\blacksquare \):

defines a global symmetry group of type with reference name .

Next, the matter fields are specified with

\(\blacksquare \):

defines a Weyl fermion field;

\(\blacksquare \):

defines a scalar field.

At this point one can proceed to add the remaining couplings:

\(\blacksquare \):

defines a mass term between two fermion fields, and ;

\(\blacksquare \):

defines a quartic coupling between four scalar fields;

\(\blacksquare \):

defines a scalar mass term between two scalar fields;

\(\blacksquare \):

defines a trilinear coupling between three scalar fields;

\(\blacksquare \):

defines a Yukawa coupling between a scalar field, , and two fermion fields, and .

A few other routines might be helpful at this point:

\(\blacksquare \):

returns the specific coupling projector applied to the generic vertex of the appropriate type. It is useful for checking if everything is correctly implemented;

\(\blacksquare \):

clears the kernel of all model definitions. This should be called before implementing a new model in the same session;

\(\blacksquare \):

sets a symbol, i.e. a coupling, to be treated as being real.

This is all that is necessary for defining the model. Once the model has been loaded into the kernel, the RG functions can be extracted with a minimum of effort using the routines

\(\blacksquare \):

returns the anomalous dimension of the matter up to loop order ;

\(\blacksquare \):

returns the -loop term of the anomalous dimension;

\(\blacksquare \):

returns the full \( \beta \)-function of the evaluated up to loop order ;

\(\blacksquare \):

returns the -loop term of the \( \beta \)-function;

\(\blacksquare \):

returns a refined version of , such as \( \beta \)-functions or anomalous dimension terms;

\(\blacksquare \):

returns all the quartic \( \beta \)-functions up to the given loop order, fully diagonalizing the coupling projectors.

The Appendix contains more detailed documentation for the various routines. Here, we explain the basic use of the package in the next subsections with a detailed example.

4.2 Setting up a model

We detail the core use of RGBeta with the SM as a concrete example, as it will be familiar to most/all users. The package is set to work with Weyl spinors to be able to treat all fermions in the same manner. The SM matter fields have charge assignments

$$\begin{aligned} q&\in (\mathbf {3},\, \mathbf {2},\, 1/6), \quad&{\bar{u}}&\in (\overline{\mathbf {3}},\, \mathbf {1},\, 2/3), \quad&{\bar{d}}&\in (\overline{\mathbf {3}},\, \mathbf {1},\, -1/3), \nonumber \\ \ell&\in (\mathbf {1},\, \mathbf {2},\, 1/2), \quad&{\bar{e}}&\in (\mathbf {1},\, \mathbf {1},\, -1), \quad&H&\in (\mathbf {1},\, \mathbf {2},\, 1/2) \end{aligned}$$
(4.1)

under the gauge group \( G_\mathrm {SM} = \mathrm {SU}(3)_c \times \mathrm {SU}(2)_\mathrm {L}\times \mathrm {U}(1)_Y \). There are three Yukawa couplings given by

$$\begin{aligned} {\mathcal {L}}_\mathrm {yuk}= & {} - y_u^{ij} H_\alpha ^{*} \epsilon ^{\alpha \beta } q{}^{\dagger i}{}_{c \beta } {\bar{u}}^{\dagger jc} - y_d^{ij} H^\alpha q{}^{\dagger i}{}_{c \alpha } {\bar{d}}^{\dagger jc} \nonumber \\&- y_e^{ij} H^\alpha \ell {}^{\dagger i}{}_{\alpha } {\bar{e}}^{\dagger j} \; + \; \mathrm {H.c.} \;, \end{aligned}$$
(4.2)

where c is a color index, \( \alpha , \beta \) \( \mathrm {SU}(2)_\mathrm {L}\) indices, and ij generation indices. The reason for specifying the Yukawa couplings with right-handed (Hermitian-conjugated) fermions is to match the conventional definition of the couplings in the Dirac notation.Footnote 13 The SM also contains a scalar potential with a quartic Higgs interaction and a Higgs mass term:

$$\begin{aligned} {\mathcal {L}}_V = - M^2 H^*_\alpha H^\alpha - \tfrac{1}{2} \lambda (H^*_\alpha H^\alpha )^2. \end{aligned}$$
(4.3)

The RGBeta package automates most of the process of getting the \( \beta \)-functions. It is, however, unavoidable that the user will have to input the model in a precise manner. Specifying gauge groups and scalar and fermion field content is fairly straightforward. Arguably, the most difficult part in using RGBeta is specifying the Yukawa and quartic interaction: the user must manually specify how the flavor and gauge indices are contracted, which is a potential source of errors.

The first thing to do when defining a model is to specify the gauge groups to RGBeta with . For each product group, one needs simply to specify the coupling, group name, and Lie group. The choice of Lie group will then set up the group invariants and generator properties of the supported representations. The unique name of the group is used for referencing the group representations. For the SM, the \( \mathrm {SU}(3)_c \times \mathrm {SU}(2)_\mathrm {L}\times \mathrm {U}(1)_Y \) gauge group is added with

figure cw

Having set up the gauge group, the next step is adding the matter content with and . It is sufficient to know the charges and flavor indices of the fields to do so. As previously mentioned, all fermions must be added as left-handed chiral fields. If any of the fields in the model are given as right-handed fermions, simply add it as a left-handed spinor in the conjugate representation under the symmetries. The fermions are specified with a field name, and all their non-trivial gauge charges are given as a list with the option (the default being no gauge charges). A full list of the available representations is given in Table 2. Given that the fields come in three generation, they are also given a single flavor index with the option.Footnote 14 To add the fermions to the model, we call

figure db

The last line may seem a bit curious. It is simply there to specify the dimension of the flavor index “ .” In the SM there are, of course, three generations, but it is often kept as a free parameter in \( \beta \)-function computations. Either can be used in RGBeta.

We proceed to add the Higgs field in a similar manner. It has just one generation, so there is no need to give it any flavor indices:

figure dd

The package assumes scalar fields to be complex-valued by default, as is the SM Higgs field. If we wished to add a real scalar field, we should give the option . In models with exact global symmetries, the flavor group can be added with , and the field representations can be specified by using the group representation in the option for the fields.

The most involved part of defining the model is setting up the couplings. In particular, one must take great care when defining the contraction of all field indices and specify the indices of the couplings. The particulars of this should be passed to the package in terms of pure functions. It is important to always remember to surround pure functions given as options with parentheses. Otherwise, the function call will not properly evaluate. Let us begin by listing the code needed to specify the SM Yukawa couplings before we dissect it:

figure dh

The first call specifies the up-type Yukawa coupling. The first two arguments gives the coupling name, , and the fields entering the interaction, , the first of which is always taken to be the scalar. Do bear in mind that the order of the fields matter for the construction of the index contractions. The Yukawa couplings are defined with left-handed spinors by convention. It is, therefore, the conjugated terms of the Yukawa Lagrangian (4.2), which are used as input.

The option should be given a function with three arguments that specify the contraction between the indices of the fields. As the name suggests, this should be an invariant of the gauge and global symmetries. It is a function because it will be called every time the coupling appears in the \( \beta \)-function formulas to give appropriate labels to the invariant. For the up-type Yukawa, the part of the group invariant establishes that the fundamental \( \mathrm {SU}(3)_c \) indices of the second and third fields are contracted with a Kronecker delta. Furthermore, the fundamental \( \mathrm {SU}(2)_\mathrm {L}\) index of the Higgs (the first field) is contracted by an \( \epsilon \)-invariant of \( \mathrm {SU}(2)_\mathrm {L}\) with the left-handed quark (second field) as specified by .Footnote 15 The remaining free indices of the fields are the generation indices of the quarks. The coupling itself carries these indices, which we spell out with the option

figure do

. This option should be passed a function of 3 arguments (one for each field) that returns a list of the indices of the coupling. In practice we can almost think of the arguments , , and as the indices of the fields, and it is not a problem to have e.g. multiple indices when they belong to different representations: there is no ambiguity.

The last option passed to is more of a quality-of-life option than strictly necessary. The Yukawa couplings in RGBeta are always given in terms of left-handed spinors as in the MBL (2.3), but conventionally the SM defines the Yukawa couplings on the right-handed spinors, and the complex conjugate of the coupling appears with the left-handed fermions. To tell RGBeta that the un-conjugated coupling should be placed with the right-handed spinors, we need to pass it the option ( by default). The other two Yukawa couplings follow in mostly the same manner as the up-type Yukawa, the main difference being that they involve the complex conjugated Higgs field. This is specified by using for the scalar field in . With the conjugated Higgs field, the \( \mathrm {SU}(2)_\mathrm {L}\) contraction is done with a Kronecker delta instead of the antisymmetric invariant.

The quartic Higgs coupling is added to the model with the call

figure dy

Again, the function takes the coupling and the fields (four scalars this time) as arguments. In contrast to the matrix Yukawa couplings of the SM, \( \lambda \) is a scalar coupling, so no coupling indices have to be passed to the function. The 1/2 normalization of the Higgs self-coupling in Eq. (4.3) is put in the group invariant. RGBeta never assumes any normalization factors even when, as is the case with the SM, there is a symmetry factor associated with the coupling.

In \( \overline{\text {MS}} \) the relevant couplings do not influence the running of the marginal couplings. However, if we wish to explore the running of the Higgs mass parameter, we can add it to the model with

figure dz

completely parallel to the implementation of the other couplings. This concludes the implementation of the SM.

Before proceeding to extract the SM \( \beta \)-functions, we would like comment on cases with other invariants in the couplings. In some cases, it is possible to construct new invariants using the group invariants already implemented in RGBeta. In such cases, the user can manually define the relevant contractions, but it is important to avoid repeating index names in the internal contractions. The best way to avoid this is to use a combination of and to ensure unique naming of the indices every time the invariant is called. An example is \( \mathrm {SU}(5) \) GUT, where there is an adjoint scalar \( \Sigma \), which has two independent invariants with four fields, one of them being \( (\Sigma _a \Sigma _a)^2 \). For the second, independent invariant, one often uses a trace over 4 fundamental generators, which can be implemented in the program as

figure ec

The full \( \mathrm {SU}(5) \) implementation is included with the package in .

4.3 Producing the \( \beta \)-functions

Once the SM model has been loaded into the Mathematica kernel, extracting the \( \beta \)-function is as simple as anything. To obtain, for instance, the 2-loop \( \beta \)-function of the down-type Yukawa coupling, one simply has to call the function . This function returns the \( \beta \)-function as defined in Eqs. (3.23.5).

A typical use of (selected for minimality) will look like

figure eg

for the lepton Yukawa \( \beta \)-function at 1-loop order. The formatting of the output (in the Mathematica ) has been set up to make the output readable to the user. To see the underlying Mathematica expression, one can use the command. The \([DOLLAR]\)i and \([DOLLAR]\)j indices are the flavor indices carried by the coupling. These correspond to the open indices of the \( \beta \)-function. \([DOLLAR]\)i is used to denote an index of the first fermion of the coupling and \([DOLLAR]\)j is an index of the second fermion (as they are given when specifying the coupling).Footnote 16 With how we implemented the coupling, these are the and generation indices, respectively. For further manipulation with the \( \beta \)-function, one will typically wish to remove such explicit indices to leave the matrix structure implicit. This can be done with the routine, which can also be used to substitute Matrix/vector couplings with a list of their entries. We should mention that can be used to single out the contribution to a \( \beta \)-function at a particular loop order, \( \beta ^{(\ell )}_g \).

In many models, there will be multiple singlets in the product of the same four scalars allowing for multiple couplings. The quintessential example of this behavior is the single-/double-trace coupling of scalars in the fundamental representation of two different groups. In such events, the naive operators used in RGBeta to project out specific couplings will mix the couplings in question and / cannot be relied on to produce the correct \( \beta \)-functions for these couplings. This behavior can also be seen with , which will mix the couplings in question. In such cases, one should rely on , which extracts all quartic \( \beta \)-functions simultaneously and accounts for the mixing by identifying the correct linear combination of the projection operators.

This concludes our discussion of the functionality of RGBeta. Examples of further manipulation of the \( \beta \)-functions can be found in . Here one can also find an example of how matrix couplings can be parametrized to obtain e.g. the \( \beta \)-function of the charm Yukawa coupling.

5 Summary and conclusions

In recent years there has been a renewed interest in higher-order \( \beta \)-functions for model building and precision physics. The theory of the general \( \beta \)-function has also matured to the point where we now have a completely general formalism that treats the couplings in a unified way, correcting several mistakes along the way [7, 14, 15, 29]. RGBeta is a Mathematica package that leverages these theory advances along with the structure delta approach to Lagrangian matching [19] in a minimal yet fairly general tool for the automatic computation of \( \beta \)-functions in four-dimensional renormalizable models.

The RGBeta package presented in this paper is an attempt at striking a balance between having an intuitive and minimal way of implementing models (the problematic part of using any RG tool) and maintaining a good degree of generality. It is fast enough that it can typically be evaluated directly in the notebook environment, allowing the user to experiment with the resulting \( \beta \)-functions. It also has the advantage that group indices can be kept arbitrary. It is our ambition to implement the full set of \( \beta \)-functions up to order 4–3–2 in RGBeta pending ongoing work with Davies and Herren [23].