20 gslpp::matrix<gslpp::complex>vv(
dim,
dim, 0.);
21 gslpp::vector<gslpp::complex>ee(
dim, 0.);
23 g0t.eigensystem(vv, ee);
25 gslpp::matrix<double> v(vv.real());
26 gslpp::vector<double> e(ee.real());
28 gslpp::matrix<double> vi = v.inverse();
29 for (
unsigned int k = 0; k <
dim; k++) {
32 for (
unsigned int j = 0; j <
dim; j++) {
33 for (
unsigned int i = 0; i <
dim; i++) {
34 b[i][j][k] = v(i, k) * vi(k, j);
41 gslpp::matrix<double> h(
dim,
dim, 0.);
42 for (
int l = 0; l < 2; l++) {
45 for (
unsigned int i = 0; i <
dim; i++)
46 for (
unsigned int j = 0; j <
dim; j++)
47 h(i, j) = (i == j) * e(i) *
model.
Beta1(5 - l) / (2. * b0 * b0) -
48 gg(i, j) / (2. * b0 + e(i) - e(j));
49 gslpp::matrix<double> j = v * h * vi;
50 gslpp::matrix<double> jv = j*v;
51 gslpp::matrix<double> vij = vi*j;
52 for (
unsigned int i = 0; i <
dim; i++)
53 for (
unsigned int j = 0; j <
dim; j++)
54 for (
unsigned int k = 0; k <
dim; k++) {
55 c[l][i][j][k] = jv(i, k) * vi(k, j);
58 d[l][i][j][k] = -v(i, k) * vij(k, j);
71 gslpp::matrix<double> ad(
dim,
dim, 0.);
79 ad(2, 2) = 2./9.*(-303.+10.*nf);
81 ad(4, 4) = 2./27.*(543.-26.*nf);
84 throw std::runtime_error(
"EvolDF1_diujlknu::AnomalousDimension(): order not implemented");
91 gslpp::matrix<double> ad(
dim,
dim, 0.);
103 throw std::runtime_error(
"EvolDF1_diujlknu::AnomalousDimension(): order_qed not implemented");
116 std::stringstream out;
118 throw std::runtime_error(
"EvolDF1_diujlknu::Df1diujlknuEvol(): scheme " + out.str() +
" not implemented ");
124 if (
mu == this->mu &&
M == this->M &&
scheme == this->scheme)
131 std::stringstream out;
132 out <<
"M = " <<
M <<
" < mu = " <<
mu;
160 gslpp::matrix<double> resLO(
dim, 0.), resNLO(
dim, 0.), resNNLO(
dim, 0.);
162 int l = 5 - (int) nf;
166 double eta = alsM / alsmu;
168 for (
unsigned int k = 0; k <
dim; k++) {
169 double etap = pow(eta,
a[k] / 2. /
model.
Beta0(nf));
170 for (
unsigned int i = 0; i <
dim; i++)
171 for (
unsigned int j = 0; j <
dim; j++) {
173 resNLO(i, j) +=
c[l][i][j][k] * etap * alsmu;
174 resNLO(i, j) +=
d[l][i][j][k] * etap * alsM;
175 resLO(i, j) +=
b[i][j][k] * etap;
189 throw std::runtime_error(
"Error in EvolDF1_diujlknu::Df1diujlknuEvol()");
gslpp::matrix< double > AnomalousDimension(orders order, unsigned int nf) const
ADM in the JMS basis, in the order CnueduVLLkkij, CnueduVLRkkij, CnueduSRRkkij, CnueduSRLkkij,...
virtual ~EvolDF1_diujlknu()
EvolDF1_diujlknu(unsigned int dim_i, schemes scheme, orders order, const StandardModel &model)
constructor
gslpp::matrix< double > & Df1diujlknuEvol(double mu, double M, orders order, schemes scheme=NDR)
const StandardModel & model
const double Beta1(const double nf) const
The coefficient for a certain number of flavours .
const double Beta0(const double nf) const
The coefficient for a certain number of flavours .
const double AboveTh(const double mu) const
The active flavour threshold above the scale as defined in QCD::Thresholds().
const double Nf(const double mu) const
The number of active flavour at scale .
A class for the RG evolutor of the Wilson coefficients.
void setScales(double mu, double M)
Sets the upper and lower scale for the running of the Wilson Coefficients.
gslpp::matrix< double > * Evol(orders order)
Evolution matrix set at a fixed order of QCD coupling.
A model class for the Standard Model.
const double getMz() const
A get method to access the mass of the boson .
const double getAlsMz() const
A get method to access the value of .
const double Als(const double mu, const orders order, const bool Nf_thr, const bool qed_flag) const
The running QCD coupling in the scheme including QED corrections.
const double getAle() const
A get method to retrieve the fine-structure constant .
gslpp::matrix< double > * elem[MAXORDER_QED+1]
orders
An enum type for orders in QCD.
schemes
An enum type for regularization schemes.
orders_qed
An enum type for orders in electroweak.