13:
RGEvolutor(dim_i, scheme, order, order_qed), model(model), V(dim_i,0.), Vi(dim_i,0.),
14 AA(dim_i,0.), BB(dim_i,0.), CC(dim_i,0.), DD(dim_i,0.), EE(dim_i,0.), FF(dim_i,0.),
15 RR(dim_i,0.), e(dim_i,0.), vavi(0,0.), vbvi(0,0.), vcvi(0,0.), vdvi(0,0.),
16 vevi(0,0.), vfvi(0,0.), vrvi(0,0.),vaevi(0,0.), vbbvi(0,0.), vbdvi(0,0.), vbevi(0,0.),
17 vdbvi(0,0.), vdevi(0,0.), veavi(0,0.), vebvi(0,0.), vedvi(0,0.), veevi(0,0.), vbeevi(0,0.),
18 vebevi(0,0.), veebvi(0,0.), vbbevi(0,0.), vbebvi(0,0.), vebbvi(0,0.), dim(dim_i)
57 if(L == 1){
nd = 3;
nu = 2;}
65 for(
unsigned int i = 0; i <
dim; i++){
66 a[L][i] =
e(i).real()/2./b0;
67 for (
unsigned int j = 0; j <
dim; j++){
68 for (
unsigned int k = 0; k <
dim; k++){
69 b[L][i][j][k] =
V(i, k).real() *
Vi(k, j).real();
84 double cutoff = 0.000000001 ;
86 for(l = 0; l <
dim; l++){
87 for(i = 0; i <
dim; i++){
88 for(j = 0; j <
dim; j++){
89 for(m = 0; m <
dim; m++){
91 if(fabs(
V(l, i).real() *
AA(i, j).real() *
Vi(j, m).real()) > cutoff){
97 vavi.push_back(
V(l, i).real() *
AA(i, j).real() *
Vi(j, m).real());
100 if(fabs(
V(l, i).real() *
BB(i, j).real() *
Vi(j, m).real()) > cutoff){
106 vbvi.push_back(
V(l, i).real() *
BB(i, j).real() *
Vi(j, m).real());
109 if(fabs(
V(l, i).real() *
CC(i, j).real() *
Vi(j, m).real()) > cutoff){
115 vcvi.push_back(
V(l, i).real() *
CC(i, j).real() *
Vi(j, m).real());
118 if(fabs(
V(l, i).real() *
DD(i, j).real() *
Vi(j, m).real()) > cutoff){
124 vdvi.push_back(
V(l, i).real() *
DD(i, j).real() *
Vi(j, m).real());
127 if(fabs(
V(l, i).real() *
EE(i, j).real() *
Vi(j, m).real()) > cutoff){
133 vevi.push_back(
V(l, i).real() *
EE(i, j).real() *
Vi(j, m).real());
136 if(fabs(
V(l, i).real() *
FF(i, j).real() *
Vi(j, m).real()) > cutoff){
142 vfvi.push_back(
V(l, i).real() *
FF(i, j).real() *
Vi(j, m).real());
145 if(fabs(
V(l, i).real() *
RR(i, j).real() *
Vi(j, m).real()) > cutoff){
151 vrvi.push_back(
V(l, i).real() *
RR(i, j).real() *
Vi(j, m).real());
155 for(p = 0; p <
dim; p++){
157 if(fabs(
V(l, i).real() *
AA(i, p).real() *
EE(p, j).real() *
Vi(j, m).real()) > cutoff){
164 vaevi.push_back(
V(l, i).real() *
AA(i, p).real() *
EE(p, j).real() *
Vi(j, m).real());
167 if(fabs(
V(l, i).real() *
BB(i, p).real() *
BB(p, j).real() *
Vi(j, m).real()) > cutoff){
174 vbbvi.push_back(
V(l, i).real() *
BB(i, p).real() *
BB(p, j).real() *
Vi(j, m).real());
177 if(fabs(
V(l, i).real() *
BB(i, p).real() *
DD(p, j).real() *
Vi(j, m).real()) > cutoff){
184 vbdvi.push_back(
V(l, i).real() *
BB(i, p).real() *
DD(p, j).real() *
Vi(j, m).real());
187 if(fabs(
V(l, i).real() *
BB(i, p).real() *
EE(p, j).real() *
Vi(j, m).real()) > cutoff){
194 vbevi.push_back(
V(l, i).real() *
BB(i, p).real() *
EE(p, j).real() *
Vi(j, m).real());
197 if(fabs(
V(l, i).real() *
DD(i, p).real() *
BB(p, j).real() *
Vi(j, m).real()) > cutoff){
204 vdbvi.push_back(
V(l, i).real() *
DD(i, p).real() *
BB(p, j).real() *
Vi(j, m).real());
207 if(fabs(
V(l, i).real() *
DD(i, p).real() *
EE(p, j).real() *
Vi(j, m).real()) > cutoff){
214 vdevi.push_back(
V(l, i).real() *
DD(i, p).real() *
EE(p, j).real() *
Vi(j, m).real());
217 if(fabs(
V(l, i).real() *
EE(i, p).real() *
AA(p, j).real() *
Vi(j, m).real()) > cutoff){
224 veavi.push_back(
V(l, i).real() *
EE(i, p).real() *
AA(p, j).real() *
Vi(j, m).real());
227 if(fabs(
V(l, i).real() *
EE(i, p).real() *
BB(p, j).real() *
Vi(j, m).real()) > cutoff){
234 vebvi.push_back(
V(l, i).real() *
EE(i, p).real() *
BB(p, j).real() *
Vi(j, m).real());
237 if(fabs(
V(l, i).real() *
EE(i, p).real() *
DD(p, j).real() *
Vi(j, m).real()) > cutoff){
244 vedvi.push_back(
V(l, i).real() *
EE(i, p).real() *
DD(p, j).real() *
Vi(j, m).real());
247 if(fabs(
V(l, i).real() *
EE(i, p).real() *
EE(p, j).real() *
Vi(j, m).real()) > cutoff){
254 veevi.push_back(
V(l, i).real() *
EE(i, p).real() *
EE(p, j).real() *
Vi(j, m).real());
258 for(q = 0; q <
dim; q++){
260 if(fabs(
V(l, i).real() *
BB(i, p).real() *
EE(p, q).real() *
EE(q, j).real() *
Vi(j, m).real()) > cutoff){
268 vbeevi.push_back(
V(l, i).real() *
BB(i, p).real() *
EE(p, q).real() *
EE(q, j).real() *
Vi(j, m).real());
272 if (fabs(
V(l, i).real() *
EE(i, p).real() *
BB(p, q).real() *
EE(q, j).real() *
Vi(j, m).real()) > cutoff) {
280 vebevi.push_back(
V(l, i).real() *
EE(i, p).real() *
BB(p, q).real() *
EE(q, j).real() *
Vi(j, m).real());
283 if (fabs(
V(l, i).real() *
EE(i, p).real() *
EE(p, q).real() *
BB(q, j).real() *
Vi(j, m).real()) > cutoff) {
291 veebvi.push_back(
V(l, i).real() *
EE(i, p).real() *
EE(p, q).real() *
BB(q, j).real() *
Vi(j, m).real());
294 if (fabs(
V(l, i).real() *
BB(i, p).real() *
BB(p, q).real() *
EE(q, j).real() *
Vi(j, m).real()) > cutoff) {
302 vbbevi.push_back(
V(l, i).real() *
BB(i, p).real() *
BB(p, q).real() *
EE(q, j).real() *
Vi(j, m).real());
305 if (fabs(
V(l, i).real() *
BB(i, p).real() *
EE(p, q).real() *
BB(q, j).real() *
Vi(j, m).real()) > cutoff) {
313 vbebvi.push_back(
V(l, i).real() *
BB(i, p).real() *
EE(p, q).real() *
BB(q, j).real() *
Vi(j, m).real());
316 if (fabs(
V(l, i).real() *
EE(i, p).real() *
BB(p, q).real() *
BB(q, j).real() *
Vi(j, m).real()) > cutoff) {
324 vebbvi.push_back(
V(l, i).real() *
EE(i, p).real() *
BB(p, q).real() *
BB(q, j).real() *
Vi(j, m).real());
349 unsigned int nf = n_u + n_d;
352 gslpp::matrix<double> gammaDF1(
dim, 0.);
354 zeta3 = gsl_sf_zeta_int(3);
359 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
360 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
363 gammaDF1(0,0) = -4. ;
364 gammaDF1(0,1) = 8./3. ;
365 gammaDF1(0,3) = -2./9.;
368 gammaDF1(1,3) = 4./3.;
370 gammaDF1(2,3) = -52./3.;
373 gammaDF1(3,2) = -40./9.;
374 gammaDF1(3,3) = -100./9.;
375 gammaDF1(3,4) = 4./9.;
376 gammaDF1(3,5) = 5./6.;
378 gammaDF1(4,3) = -256./3.;
381 gammaDF1(5,2) = -256./9.;
382 gammaDF1(5,3) = 56./9.;
383 gammaDF1(5,4) = 40./9.;
384 gammaDF1(5,5) = -2./3.;
389 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
390 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
395 gammaDF1(0,0) = -355./9.;
396 gammaDF1(0,1) = -502./27.;
397 gammaDF1(0,2) = -1412./243.;
398 gammaDF1(0,3) = -1369./243.;
399 gammaDF1(0,4) = 134./243.;
400 gammaDF1(0,5) = -35./162.;
402 gammaDF1(1,0) = -35./3.;
403 gammaDF1(1,1) = -28./3.;
404 gammaDF1(1,2) = -416./81.;
405 gammaDF1(1,3) = 1280./81.;
406 gammaDF1(1,4) = 56./81.;
407 gammaDF1(1,5) = 35./27.;
409 gammaDF1(2,2) = -4468./81.;
410 gammaDF1(2,3) = -31469./81.;
411 gammaDF1(2,4) = 400./81.;
412 gammaDF1(2,5) = 3373./108.;
414 gammaDF1(3,2) = -8158./243.;
415 gammaDF1(3,3) = -59399./243.;
416 gammaDF1(3,4) = 269./486.;
417 gammaDF1(3,5) = 12899./648.;
419 gammaDF1(4,2) = -251680./81.;
420 gammaDF1(4,3) = -128648./81.;
421 gammaDF1(4,4) = 23836./81.;
422 gammaDF1(4,5) = 6106./27.;
424 gammaDF1(5,2) = 58640./243.;
425 gammaDF1(5,3) = -26348./243.;
426 gammaDF1(5,4) = -14324./243.;
427 gammaDF1(5,5) = -2551./162.;
433 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
434 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
439 gammaDF1(0,0) = -12773./18. + zeta3 * 1472./3.;
440 gammaDF1(0,1) = 745./9. - zeta3 *4288./9.;
441 gammaDF1(0,2) = 63187./13122. - zeta3 * 1360./81.;
442 gammaDF1(0,3) = -981796./6561. - zeta3 * 776./81.;
443 gammaDF1(0,4) = -202663./52488. + zeta3 * 124./81.;
444 gammaDF1(0,5) = -24973./69984. + zeta3 * 100./27.;
446 gammaDF1(1,0) = 1177./2. - zeta3 * 2144.;
447 gammaDF1(1,1) = 306. - zeta3 * 224.;
448 gammaDF1(1,2) = 110477./2187. + zeta3 * 2720./27.;
449 gammaDF1(1,3) = 133529./8748. - zeta3 * 2768./27.;
450 gammaDF1(1,4) = -42929./8748. - zeta3 * 248./27.;
451 gammaDF1(1,5) = 354319./11664. - zeta3 * 110./9.;
453 gammaDF1(2,2) = -3572528./2187. - zeta3 * 608./27.;
454 gammaDF1(2,3) = -58158773./8748. + zeta3 * 61424./27.;
455 gammaDF1(2,4) = 552601./4374. - zeta3 * 496./27.;
456 gammaDF1(2,5) = 6989171./11664. - zeta3 * 2821./9.;
458 gammaDF1(3,2) = -1651004./6561. + zeta3 * 88720./81.;
459 gammaDF1(3,3) = -155405353./52488 + zeta3 * 54272./81.;
460 gammaDF1(3,4) = 1174159./52488. - zeta3 * 9274./81.;
461 gammaDF1(3,5) = 10278809./34992. - zeta3 * 3100./27.;
463 gammaDF1(4,2) = -147978032./2187. + zeta3 * 87040./27.;
464 gammaDF1(4,3) = -168491372./2187. + zeta3 * 324416./27.;
465 gammaDF1(4,4) = 11213042./2187. - zeta3 * 13984./27.;
466 gammaDF1(4,5) = 17850329./2916. - zeta3 * 31420./9.;
468 gammaDF1(5,2) = 136797922./6561. + zeta3 * 721408./81.;
469 gammaDF1(5,3) = -72614473./13122. - zeta3 * 166432./81.;
470 gammaDF1(5,4) = -9288181./6561. - zeta3 * 95032./81.;
471 gammaDF1(5,5) = -16664027./17496. - zeta3 * 7552./27.;
476 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
477 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
480 gammaDF1(0,0) = -8./3.;
481 gammaDF1(0,6) = -32./27.;
483 gammaDF1(1,1) = -8./3.;
484 gammaDF1(1,6) = -8./9.;
486 gammaDF1(2,6) = -16./9.;
488 gammaDF1(3,6) = 32./27.;
490 gammaDF1(4,6) = -112./9.;
492 gammaDF1(5,6) = 512./27.;
502 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
503 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
507 gammaDF1(0,0) = 169./9.;
508 gammaDF1(0,1) = 100./27.;
509 gammaDF1(0,3) = 254./729.;
510 gammaDF1(0,6) = -2272./729.;
512 gammaDF1(1,0) = 50./3.;
513 gammaDF1(1,1) = -8./3.;
514 gammaDF1(1,3) = 1076./243.;
515 gammaDF1(1,6) = 1952./243.;
517 gammaDF1(2,3) = 11116./243.;
518 gammaDF1(2,5) = -14./3.;
519 gammaDF1(2,6) = -6752./243.;
521 gammaDF1(3,2) = 280./27.;
522 gammaDF1(3,3) = 18763./729.;
523 gammaDF1(3,4) = -28./27.;
524 gammaDF1(3,5) = -35./18.;
525 gammaDF1(3,6) = -2192./729.;
527 gammaDF1(4,3) = 111136./243.;
528 gammaDF1(4,5) = -140./3.;
529 gammaDF1(4,6) = -84032./243.;
531 gammaDF1(5,2) = 2944./27.;
532 gammaDF1(5,3) = 193312./729.;
533 gammaDF1(5,4) = -280./27.;
534 gammaDF1(5,5) = -175./9.;
535 gammaDF1(5,6) = -37856./729.;
544 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
545 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
548 gammaDF1(0,6)= -11680./2187.;
549 gammaDF1(0,7)= -416./81.;
551 gammaDF1(1,6)= -2920./729.;
552 gammaDF1(1,7)= -104./27.;
554 gammaDF1(2,6)= -39752./729.;
555 gammaDF1(2,7)= -136./27.;
557 gammaDF1(3,6)= 1024./2187.;
558 gammaDF1(3,7)= -448./81.;
560 gammaDF1(4,6)= -381344./729.;
561 gammaDF1(4,7)= -15616./27.;
563 gammaDF1(5,6)= 24832./2187.;
564 gammaDF1(5,7)= -7936./81.;
570 if (!(nf == 3 || nf == 4 || nf == 5 || nf == 6)){
571 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): wrong number of flavours");
574 gammaDF1(0,6)= -1359190./19683. + zeta3 * 6976./243.;
576 gammaDF1(1,6)= -229696./6561 - zeta3 * 3584./81.;
578 gammaDF1(2,6)= -1290092./6561 + zeta3 * 3200./81.;
580 gammaDF1(3,6)= -819971./19683. - zeta3 * 19936./243;
582 gammaDF1(4,6)= -16821944./6561 + zeta3 * 30464./81.;
584 gammaDF1(5,6)= -17787368./19683. - zeta3 * 286720./243.;
590 throw std::runtime_error(
"EvolBsmm::AnomalousDimension(): order not implemented");
603 B01S = -22./9., B11S = -308./27.;
605 double B00E = 80./9., B01E = 176./9.;
607 double b1 = B10S/(2. * B00S * B00S), b2 = B20S/(4. * B00S * B00S * B00S) - b1 * b1 ,
608 b3 = B01S/(2. * B00S * B00E), b4 = B11S /(4. * B00S * B00S * B00E) - 2 * b1 * b3,
609 b5 = B01E/(2. * B00S * B00E) - b1;
613 gslpp::matrix<double> B(
dim, 0.);
614 gslpp::matrix<double> W10T(
dim, 0.);
615 gslpp::matrix<double> W20T(
dim, 0.);
616 gslpp::matrix<double> W30T(
dim, 0.);
617 gslpp::matrix<double> W01T(
dim, 0.);
618 gslpp::matrix<double> W02T(
dim, 0.);
619 gslpp::matrix<double> W11T(
dim, 0.);
620 gslpp::matrix<double> W21T(
dim, 0.);
637 B =
Vi.real() * (W30T - b1 * W20T - b2 * W10T) *
V.real();
642 B =
Vi.real() * (W20T - b1 * W10T) *
V.real();
647 B =
Vi.real() * (W21T - b1 * W11T - b2 * W01T - b3 * W20T - b4 * W10T) *
V.real();
652 B =
Vi.real() * (W11T - b1 * W01T - b3 * W10T) *
V.real();
657 B =
Vi.real() * (W01T) *
V.real();
662 B =
Vi.real() * (W02T + W11T - (b1 + b3) * W01T - b3 * W10T) *
V.real();
667 B = b5 *
Vi.real() * (W01T) *
V.real();
671 throw std::runtime_error(
"EvolBsmm::BuiltB(): order not implemented");