33 #if __cplusplus >= 201402L 34 #define QCD_CONSTEXPR_AFTER_CXX14 constexpr 36 #define QCD_CONSTEXPR_AFTER_CXX14 47 constexpr
double pi = 3.141592653589793238462643383279;
48 constexpr
double zeta_3 = 1.202056903159594285399738161511449990765;
49 constexpr
double zeta_4 = pi*pi*pi*pi/90.;
50 constexpr
double zeta_5 = 1.036927755143369926331365486457034168057;
57 constexpr
double beta_00 = 11./12.*
c_A;
58 constexpr
double beta_01 = - 1./3.*
T_f;
60 constexpr
double beta_10 = 17./24.*
c_A*
c_A;
61 constexpr
double beta_11 = -(
c_F/4.+5./12.*
c_A)*
T_f;
63 constexpr
double beta_20 = 2857./3456.*c_A*c_A*
c_A;
65 beta_21 = -
T_f*(1415./1728.*c_A*c_A + 205./576.*c_A*
c_F -
c_F*
c_F/32.);
67 beta_22 =
T_f*
T_f*(79./864.*c_A + 11./144.*
c_F);
71 + c_A*c_A*c_A*c_A*(150653./124416. - 11./576.*zeta_3)
78 + c_A*c_A*c_A*(-39143./20736. + 17./96.*zeta_3)
79 + c_A*c_A*
c_F*(7073./62208. - 41./144.*zeta_3)
80 + c_A*
c_F*
c_F*(-1051./1728. + 11./72.*zeta_3)
89 + c_A*c_A*(3965./10368. + 7./72.*zeta_3)
90 + c_A*
c_F*(67./243. + 7./36.*zeta_3)
91 +
c_F*
c_F*(169./864. - 11./36.*zeta_3)
101 constexpr
double beta_40 = (
102 8157455./16. + 621885./2.*zeta_3 - 88209./2.*zeta_4 - 288090*zeta_5
105 constexpr
double beta_41 = (
106 - 336460813./1944. - 4811164./81.*zeta_3
107 + 33935./6.*zeta_4 + 1358995./27.*zeta_5
110 constexpr
double beta_42 = (
111 + 25960913./1944. + 698531./81.*zeta_3
112 - 10526./9.*zeta_4 - 381760./81.*zeta_5
115 constexpr
double beta_43 = (
116 - 630559./5832. - 48722./243.*zeta_3
117 + 1618./27.*zeta_4 + 460./9.*zeta_5
120 constexpr
double beta_44 = (1205./2916. - 152./81.*zeta_3)/1024.;
122 constexpr
auto max_nf_pow =
123 std::array<unsigned,1u + max_order>{{1u, 1u, 2u, 3u, 4u}};
125 inline QCD_CONSTEXPR_AFTER_CXX14
126 unsigned coeffs_start_index(
unsigned order){
129 (1u + max_nf_pow[order-1] + coeffs_start_index(order-1))
133 constexpr
auto coeffs = std::array<double,16>{{
136 beta_20, beta_21, beta_22,
137 beta_30, beta_31, beta_32, beta_33,
138 beta_40, beta_41, beta_42, beta_43, beta_44
141 inline QCD_CONSTEXPR_AFTER_CXX14
144 return max_nf_pow[order];
147 inline QCD_CONSTEXPR_AFTER_CXX14
151 return( coeffs[coeffs_start_index(order) + nfpow] );
154 inline QCD_CONSTEXPR_AFTER_CXX14
155 double helper(
unsigned order,
int nf,
unsigned nf_pow){
158 (nf_pow == max_nf_pow[order])?
160 beta_nf_coeff(order, nf_pow) + nf*helper(order, nf, nf_pow + 1)
164 inline QCD_CONSTEXPR_AFTER_CXX14
165 double beta(
unsigned order,
int nf){
168 return helper(order, nf, 0);
171 inline QCD_CONSTEXPR_AFTER_CXX14
179 return (cur_order == order)?
181 +
beta(cur_order, nf)
182 + alpha_s/pi * helper(order, nf, alpha_s, cur_order + 1)
200 inline QCD_CONSTEXPR_AFTER_CXX14
201 double beta(
unsigned order,
int nf,
double alpha_s){
204 return - alpha_s/pi*helper(order, nf, alpha_s, 0);
219 inline QCD_CONSTEXPR_AFTER_CXX14
220 double beta(
unsigned order,
int nf){
230 inline QCD_CONSTEXPR_AFTER_CXX14
240 inline QCD_CONSTEXPR_AFTER_CXX14
242 return detail::beta::beta_nf_coeff(order, nfpow);
249 inline QCD_CONSTEXPR_AFTER_CXX14
255 inline QCD_CONSTEXPR_AFTER_CXX14
261 inline QCD_CONSTEXPR_AFTER_CXX14
266 beta_nf_coeff(static_cast<unsigned>(order), static_cast<unsigned>(nfpow));
271 #undef QCD_CONSTEXPR_AFTER_CXX14 constexpr double T_f
Trace normalisation.
Definition: colour.hpp:41
constexpr double d_abcd_AF
Product of two symmetrised traces in the adjoint and fundamental representation.
Definition: colour.hpp:55
constexpr double c_A
Quadratic Casimir in the adjoint representation.
Definition: colour.hpp:37
Definition: alpha_s.hpp:35
constexpr double d_abcd_FF
Product of two symmetrised traces in the fundamental representation.
Definition: colour.hpp:62
constexpr unsigned beta_max_order
Highest implemented order of the beta function.
Definition: beta.hpp:43
constexpr double d_abcd_AA
Product of two symmetrised traces in the adjoint representation.
Definition: colour.hpp:48
constexpr double c_F
Quadratic Casimir in the fundamental representation.
Definition: colour.hpp:39
QCD_CONSTEXPR_AFTER_CXX14 double beta_nf_coeff(unsigned order, unsigned nfpow)
Coefficient of some power of number of flavours in the beta function.
Definition: beta.hpp:241
constexpr double N_A
Dimension of the adjoint representation.
Definition: colour.hpp:64
QCD_CONSTEXPR_AFTER_CXX14 unsigned beta_max_nf_pow(unsigned order)
Highest power of number of flavours in appearing in the beta function.
Definition: beta.hpp:231
QCD_CONSTEXPR_AFTER_CXX14 double beta(unsigned order, int nf)
Perturbative coefficients of the QCD beta function.
Definition: beta.hpp:220
QCD_CONSTEXPR_AFTER_CXX14 double beta(unsigned order, int nf, double alpha_s)
The QCD beta function.
Definition: beta.hpp:201