8 #include <gsl/gsl_sf_zeta.h>
15 :
RGEvolutor(dim_i, scheme, order), model(model),
16 v(dim_i,0.), vi(dim_i,0.), js(dim_i,0.), h(dim_i,0.), gg(dim_i,0.), s_s(dim_i,0.),
17 jssv(dim_i,0.), jss(dim_i,0.), jv(dim_i,0.), vij(dim_i,0.), e(dim_i,0.), dim(dim_i)
22 for(
int L=2; L>-1; L--){
27 if(L == 1){
nd = 3;
nu = 2;}
28 if(L == 0){
nd = 3;
nu = 3;}
32 for(
unsigned int i = 0; i <
dim; i++){
33 a[L][i] =
e(i).real();
34 for (
unsigned int j = 0; j < dim; j++) {
35 for (
unsigned int k = 0; k < dim; k++) {
36 b[L][i][j][k] =
v(i, k).real() *
vi(k, j).real();
44 double b0 = model.
Beta0(6-L);
45 double b1 = model.
Beta1(6-L);
46 for (
unsigned int i = 0; i < dim; i++){
47 for (
unsigned int j = 0; j < dim; j++){
48 s_s.assign( i, j, (b1 / b0) * (i==j) *
e(i).real() -
gg(i,j));
49 if(fabs(
e(i).real() -
e(j).real() + 2. * b0)>0.00000000001){
50 h.assign( i, j,
s_s(i,j) / (2. * b0 +
e(i) -
e(j)));
59 for (
unsigned int i = 0; i < dim; i++){
60 for (
unsigned int j = 0; j < dim; j++){
61 if(fabs(
e(i).real() -
e(j).real() + 2. * b0) > 0.00000000001){
62 for(
unsigned int k = 0; k < dim; k++){
63 c[L][i][j][k] =
jv(i, k).real() * vi(k, j).real();
64 d[L][i][j][k] = -v(i, k).real() *
vij(k, j).real();
68 for(
unsigned int k = 0; k < dim; k++){
69 c[L][i][j][k] = (1./(2. * b0)) *
jssv(i, k).real() * vi(k, j).real();
88 unsigned int nf = n_u + n_d;
102 gammaDF1(1,2) = -2./9.;
103 gammaDF1(1,3) = 2./3.;
104 gammaDF1(1,4) = -2./9.;
105 gammaDF1(1,5) = 2./3.;
109 gammaDF1(2,2) = -22./9.;
110 gammaDF1(2,3) = 22./3.;
111 gammaDF1(2,4) = -4./9.;
112 gammaDF1(2,5) = 4./3.;
114 gammaDF1(3,2) = 6.-2./9.*nf;
115 gammaDF1(3,3) = -2.+2./3.*nf;
116 gammaDF1(3,4) = -2./9.*nf;
117 gammaDF1(3,5) = 2./3.*nf;
122 gammaDF1(5,2) = -2./9.*nf;
123 gammaDF1(5,3) = 2./3.*nf;
124 gammaDF1(5,4) = -2./9.*nf;
125 gammaDF1(5,5) = -16.+2./3.*nf;
131 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
132 throw std::runtime_error(
"EvolDF1nlep::AnomalousDimension_B(): wrong number of flavours");
137 gammaDF1(0,0) = -21./2.-2./9.*nf;
138 gammaDF1(0,1) = 7./2.+2./3.*nf;
140 gammaDF1(1,0) = 7./2.+2./3.*nf;
141 gammaDF1(1,1) = -21./2.-2./9.*nf;
145 gammaDF1(0,2) = 79./9.;
146 gammaDF1(0,3) = -7./3.;
147 gammaDF1(0,4) = -65./9.;
148 gammaDF1(0,5) = -7./3.;
150 gammaDF1(1,2) = -202./243.;
151 gammaDF1(1,3) = 1354./81.;
152 gammaDF1(1,4) = -1192./243.;
153 gammaDF1(1,5) = 904./81.;
157 gammaDF1(2,2) = -5911./486.+71./9.*nf;
158 gammaDF1(2,3) = 5983./162.+1./3.*nf;
159 gammaDF1(2,4) = -2384./243.-71./9.*nf;
160 gammaDF1(2,5) = 1808./81.-1./3.*nf;
163 gammaDF1(3,2) = 379./18.+56./243.*nf;
164 gammaDF1(3,3) = -91./6.+808./81.*nf;
165 gammaDF1(3,4) = -130./9.-502./243.*nf;
166 gammaDF1(3,5) = -14./3.+646./81.*nf;
168 gammaDF1(4,2) = -61./9.*nf;
169 gammaDF1(4,3) = -11./3.*nf;
170 gammaDF1(4,4) = 71./3.+61./9.*nf;
171 gammaDF1(4,5) = -99.+11./3.*nf;
173 gammaDF1(5,2) = -682./243.*nf;
174 gammaDF1(5,3) = 106./81.*nf;
175 gammaDF1(5,4) = -225./2.+1676./243.*nf;
176 gammaDF1(5,5) = -1343./6.+1348./81.*nf;
181 throw std::runtime_error(
"EvolDF1nlep::AnomalousDimensio_B_S(): order not implemented");
196 std::stringstream out;
198 throw std::runtime_error(
"EvolDC1::Df1EvolDC1(): scheme " + out.str() +
" not implemented ");
203 if(alsMZ == alsMZ_cache && Mz == Mz_cache) {
204 if (mu == this-> mu && M == this->M && scheme == this->scheme)
205 return (*
Evol(order));
211 std::stringstream out;
212 out <<
"M = " << M <<
" < mu = " << mu;
229 return (*
Evol(order));
238 int L = 6 - (int) nf;
239 double alsM =
model.
Als(M) / 4. / M_PI;
240 double alsmu =
model.
Als(mu) / 4. / M_PI;
242 double eta = alsM / alsmu;
244 for (
unsigned int k = 0; k <
dim; k++) {
246 for (
unsigned int i = 0; i < dim; i++){
247 for (
unsigned int j = 0; j < dim; j++) {
250 if(fabs(
e(i).real() -
e(j).real() + 2. *
model.
Beta0(nf))>0.000000000001) {
251 resNLO(i, j) +=
c[L][i][j][k] * etap * alsmu;
252 resNLO(i, j) +=
d[L][i][j][k] * etap * alsM;
255 resNLO(i, j) += -
c[L][i][j][k] * etap * alsmu *
log(eta);
257 resLO(i, j) +=
b[L][i][j][k] * etap;
272 throw std::runtime_error(
"Error in EvolDC1Buras::DC1EvolBuras()");
284 deltarsT(2,3) = 5./27.;
285 deltarsT(2,5) = 5./27.;
286 deltarsT(3,3) = -5./9.;
287 deltarsT(3,5) = -5./9.;
288 deltarsT(4,3) = 5./27.;
289 deltarsT(4,5) = 5./27.;
290 deltarsT(5,3) = -5./9.;
291 deltarsT(5,5) = -5./9.;
300 double alsM =
model.
Als(M) / 4. / M_PI;