eko.kernels package

The solutions to the DGLAP equations.

Submodules

eko.kernels.as4_evolution_integrals module

Implement the N3LO evolution integrals.

eko.kernels.as4_evolution_integrals.roots(b_list)[source]

Return the roots of a third grade polynomial.

Return the roots of:

\[1 + b_1 a_s + b_2 a_s^2 + b_3 a_s^3 = 0\]
Parameters:

b_list (list) – \([b_1, b_2, b_3]\)

Returns:

list of complex roots

Return type:

list

eko.kernels.as4_evolution_integrals.derivative(r, b_list)[source]

Return the derivative of a third grade polynomial.

\[\frac{d}{d a_s}(1 + b_1 a_s + b_2 a_s^2 + b_3 a_s^3) = b_1 + 2 b_2 r + 3 b_3 r^2\]
Parameters:
  • a_s – coupling constant

  • b_list (list) – \([b_1, b_2, b_3]\)

Returns:

evaluated derivative

Return type:

float

eko.kernels.as4_evolution_integrals.j33_exact(a1, a0, beta0, b_list, roots)[source]

N3LO-N3LO exact evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(3,3)}(a_s) = \frac{1}{\beta_0} \sum_{r=r_1}^{r_3} \frac{\ln(a_s-r) r^2}{b_1 + 2 b_2 r + 3 b_3 r^2}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

  • b_list (list) – \([b_1, b_2, b_3]\)

  • roots (\([r_1,r_2,r_3]\)) – list of roots of \(1 + b_1 a_s + b_2 a_s^2 + b_3 a_s^3\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j23_exact(a1, a0, beta0, b_list, roots)[source]

NNLO-N3LO exact evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(2,3)}(a_s) = \frac{1}{\beta_0} \sum_{r=r_1}^{r_3} \frac{\ln(a_s-r) r}{b_1 + 2 b_2 r + 3 b_3 r^2}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

  • b_list (list) – \([b_1, b_2, b_3]\)

  • roots (\([r_1,r_2,r_3]\)) – list of roots of \(1 + b_1 a_s + b_2 a_s^2 + b_3 a_s^3\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j13_exact(a1, a0, beta0, b_list, roots)[source]

NLO-N3LO exact evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(1,3)}(a_s) = \frac{1}{\beta_0} \sum_{r=r_1}^{r_3} \frac{\ln(a_s-r)}{b_1 + 2 b_2 r + 3 b_3 r^2}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

  • b_list (list) – \([b_1, b_2, b_3]\)

  • roots (\([r_1,r_2,r_3]\)) – list of roots of \(1 + b_1 a_s + b_2 a_s^2 + b_3 a_s^3\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j03_exact(j12, j13, j23, j33, b_list)[source]

LO-N3LO exact evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(0,3)}(a_s) = \frac{1}{\beta_0} \left( \ln(a) - \sum_{r=r_1}^{r_3} \frac{b_1 \ln(a_s-r) + b_2 \ln(a_s-r) r + b_3 \ln(a_s-r) r^2}{b_1 + 2 b_2 r + 3 b_3 r^2} \right )\]
Parameters:
  • j12 (float) – LO-LO evolution integral

  • j13 (float) – NLO-N3LO evolution integral

  • j23 (float) – NNLO-N3LO evolution integral

  • j33 (float) – N3LO-N3LO evolution integral

  • b_list (list) – \([b_1, b_2, b_3]\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j33_expanded(a1, a0, beta0)[source]

N3LO-N3LO expanded evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(3,3)}_{exp}(a_s) = \frac{1}{3 \beta_0} a_s^3\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j23_expanded(a1, a0, beta0, b_list)[source]

NNLO-N3LO expanded evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(2,3)}_{exp}(a_s) = \frac{1}{\beta_0} ( \frac{1}{2} a_s^2 - \frac{b_1}{3} as^3)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

  • b_list (list) – \([b_1, b_2, b_3]\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j13_expanded(a1, a0, beta0, b_list)[source]

NLO-N3LO expanded evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(1,3)}_{exp}(a_s) = \frac{1}{\beta_0} ( a_s - \frac{b_1}{2} a_s^2 + \frac{b_1^2-b_2}{3} as^3)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – \(\beta_0\)

  • b_list (list) – \([b_1, b_2, b_3]\)

Returns:

evaluated integral

Return type:

float

eko.kernels.as4_evolution_integrals.j03_expanded(j12, j13, j23, j33, b_list)[source]

LO-N3LO expanded evolution definite integral.

Evaluated at \(a_s-a_s^0\).

\[j^{(0,3)}_{exp}(a_s) = j^{(0,0)} - b_1 j^{(1,3)}_{exp}(a_s) - b_2 j^{(2,3)}_{exp}(a_s) - b_3 j^{(3,3)}_{exp}(a_s)\]
Parameters:
  • j12 (float) – LO-LO evolution integral

  • j13 (float) – NLO-N3LO expanded evolution integral

  • j23 (float) – NNLO-N3LO expanded evolution integral

  • j33 (float) – N3LO-N3LO expanded evolution integral

  • b_list (list) – \([b_1, b_2, b_3]\)

Returns:

evaluated integral

Return type:

float

See also

j03_exact

eko.kernels.evolution_integrals module

Compute evolution integrals.

Integrals needed for the exact evolutions are given by:

\[j^{(n,m)}(a_s,a_s^0) = \int\limits_{a_s^0}^{a_s}\!da_s'\,\frac{(a_s')^{n}}{-\sum_{i=2}^{m} \beta^{(i)} a_s'^i}\]

The expanded integrals are obtained from the exact results by Taylor expanding in the limit \(a_s,a_s^{0} \to 0\) until \(\mathcal{O}( a_s^{m+1})\) for \(N^{m}LO\) computations.

eko.kernels.evolution_integrals.j12(a1, a0, beta0)[source]

\(j^{(1,2)}\) exact evolution integral.

\[j^{(1,2)}(a_s,a_s^0) = \int\limits_{a_s^0}^{a_s} \frac{da_s'}{\beta_0 a_s'} = \frac{\ln(a_s/a_s^0)}{\beta_0}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

Returns:

j12 – integral

Return type:

float

eko.kernels.evolution_integrals.j23_exact(a1, a0, beta0, b_vec)[source]

\(j^{(2,3)}\) exact evolution integral.

\[j^{(1,1)}(a_s,a_s^0) = \int\limits_{a_s^0}^{a_s}\!da_s'\, \frac{a_s'^2}{\beta_0 a_s'^2 + \beta_1 a_s'^3} = \frac{1}{\beta_1}\ln\left(\frac{1+b_1 a_s}{1+b_1 a_s^0}\right)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

Returns:

j23_exact – integral

Return type:

float

eko.kernels.evolution_integrals.j23_expanded(a1, a0, beta0)[source]

\(j^{(2,3)}\) expanded evolution integral.

\[j^{(2,3)}_{exp}(a_s,a_s^0) = \frac 1 {\beta_0}(a_s - a_s^0)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

Returns:

j23_expanded – integral

Return type:

float

eko.kernels.evolution_integrals.j13_exact(a1, a0, beta0, b_vec)[source]

\(j^{(1,3)}\) exact evolution integral.

\[j^{(1,3)}(a_s,a_s^0) = \int\limits_{a_s^0}^{a_s}\!da_s'\, \frac{a_s'}{\beta_0 a_s'^2 + \beta_1 a_s'^3} = j^{(0,0)}(a_s,a_s^0) - b_1 j^{(2,3)}(a_s,a_s^0)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

Returns:

j13_exact – integral

Return type:

float

eko.kernels.evolution_integrals.j13_expanded(a1, a0, beta0, b_vec)[source]

\(j^{(1,3)}\) expanded evolution integral.

\[j^{(1,3)}_{exp}(a_s,a_s^0) = j^{(0,0)}(a_s,a_s^0) - b_1 j^{(2,3)}_{exp}(a_s,a_s^0)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

Returns:

j13_expanded – integral

Return type:

float

eko.kernels.evolution_integrals.j34_exact(a1, a0, beta0, b_vec)[source]

\(j^{(3,4)}\) exact evolution integral.

\[\begin{split}j^{(3,4)}(a_s,a_s^0) &= \int\limits_{a_s^0}^{a_s}\!da_s'\,\frac{a_s'^3} {\beta_0 a_s'^2 + \beta_1 a_s'^3 + \beta_2 a_s'^4} = \frac{1}{\beta_2}\ln\left( \frac{1 + a_s ( b_1 + b_2 a_s ) }{ 1 + a_s^0 ( b_1 + b_2 a_s^0 )}\right) - \frac{b_1 \delta}{ \beta_2 \Delta} \\ \delta &= \atan \left( \frac{b_1 + 2 a_s b_2 }{ \Delta} \right) - \atan \left( \frac{b_1 + 2 a_s^0 b_2 }{ \Delta} \right) \\ \Delta &= \sqrt{4 b_2 - b_1^2}\end{split}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

  • beta2 (float) – NNLO beta function coefficient

Returns:

j34_exact – integral

Return type:

complex

eko.kernels.evolution_integrals.j24_exact(a1, a0, beta0, b_vec)[source]

\(j^{(2,4)}\) exact evolution integral.

\[\begin{split}j^{(1,2)}(a_s,a_s^0) &= \int\limits_{a_s^0}^{a_s}\!da_s'\,\frac{a_s'^2}{\beta_0 a_s'^2 + \beta_1 a_s'^3 + \beta_2 a_s'^4}\\ &= \frac{2 \delta}{\beta_0 \Delta} \\ \delta &= \atan \left( \frac{b_1 + 2 a_s b_2 }{ \Delta} \right) - \atan \left( \frac{b_1 + 2 a_s^0 b_2 }{ \Delta} \right) \\ \Delta &= \sqrt{4 b_2 - b_1^2}\end{split}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

  • beta2 (float) – NNLO beta function coefficient

Returns:

j24_exact – integral

Return type:

complex

eko.kernels.evolution_integrals.j14_exact(a1, a0, beta0, b_vec)[source]

\(j^{(1,4)}\) exact evolution integral.

\[\begin{split}j^{(0,2)}(a_s,a_s^0) &= \int\limits_{a_s^0}^{a_s}\!da_s'\, \frac{a_s'}{\beta_0 a_s'^2 + \beta_1 a_s'^3 + \beta_2 a_s'^4}\\ &= j^{(0,0)}(a_s,a_s^0) - b_1 j^{(2,4)}(a_s,a_s^0) - b_2 j^{(3,4)}(a_s,a_s^0)\end{split}\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

  • beta2 (float) – NNLO beta function coefficient

Returns:

j14_exact – integral

Return type:

complex

eko.kernels.evolution_integrals.j34_expanded(a1, a0, beta0)[source]

\(j^{(3,4)}\) expanded evolution integral.

\[j^{(2,2)}_{exp}(a_s,a_s^0) = \frac{1}{2 \beta_0} \left( a_s^2 - (a_s^0)^{2} \right)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

Returns:

j34_expanded – integral

Return type:

float

eko.kernels.evolution_integrals.j24_expanded(a1, a0, beta0, b_vec)[source]

\(j^{(2,4)}\) expanded evolution integral.

\[j^{(2,4)}_{exp}(a_s,a_s^0) = \frac{1}{\beta_0}\left[ a_s - a_s^0 - \frac{b_1}{2} \left( a_s^2 - (a_s^0)^{2} \right)\right]\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

Returns:

j24_expanded – integral

Return type:

float

eko.kernels.evolution_integrals.j14_expanded(a1, a0, beta0, b_vec)[source]

\(j^{(1,4)}\) expanded evolution integral.

\[j^{(1,4)}_{exp}(a_s,a_s^0) = j^{(0,0)}(a_s,a_s^0) - b_1 j^{(2,4)}_{exp}(a_s,a_s^0) - b_2 j^{(3,4)}_{exp}(a_s,a_s^0)\]
Parameters:
  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta0 (float) – LO beta function coefficient

  • beta1 (float) – NLO beta function coefficient

  • beta2 (float) – NNLO beta function coefficient

Returns:

j14_expanded – integral

Return type:

float

eko.kernels.non_singlet module

Collection of non-singlet EKOs.

eko.kernels.non_singlet.U_vec(gamma_ns, beta, order)[source]

Compute the elements of the non-singlet U vector.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimension

  • beta (list) – list of the values of the beta functions

  • order (int) – perturbative order

Returns:

U vector

Return type:

np.ndarray

eko.kernels.non_singlet.lo_exact(gamma_ns, a1, a0, beta)[source]

LO non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^0LO non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet.nlo_exact(gamma_ns, a1, a0, beta)[source]

NLO non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^1NLO non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet.nlo_expanded(gamma_ns, a1, a0, beta)[source]

NLO non-singlet expanded EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^1NLO non-singlet expanded EKO

Return type:

complex

eko.kernels.non_singlet.nnlo_exact(gamma_ns, a1, a0, beta)[source]

NNLO non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^2NNLO non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet.nnlo_expanded(gamma_ns, a1, a0, beta)[source]

NNLO non-singlet expanded EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^2NNLO non-singlet expanded EKO

Return type:

complex

eko.kernels.non_singlet.n3lo_expanded(gamma_ns, a1, a0, beta)[source]

N3LO non-singlet expanded EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

Returns:

N3LO non-singlet expanded EKO

Return type:

complex

eko.kernels.non_singlet.n3lo_exact(gamma_ns, a1, a0, beta)[source]

N3LO non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

Returns:

N3LO non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet.eko_ordered_truncated(gamma_ns, a1, a0, beta, order, ev_op_iterations)[source]

NLO, NNLO or N3LO non-singlet ordered truncated EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

  • order (tuple(int,int)) – perturbative order

  • ev_op_iterations (int) – number of evolution steps

Returns:

non-singlet ordered truncated EKO

Return type:

complex

eko.kernels.non_singlet.eko_truncated(gamma_ns, a1, a0, beta, order, ev_op_iterations)[source]

NLO, NNLO or N3LO non-singlet truncated EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

  • order (tuple(int,int)) – perturbative order

  • ev_op_iterations (int) – number of evolution steps

Returns:

non-singlet truncated EKO

Return type:

complex

eko.kernels.non_singlet.dispatcher(order, method, gamma_ns, a1, a0, nf, ev_op_iterations)[source]

Determine used kernel and call it.

In LO we always use the exact solution.

Parameters:
  • order (tuple(int,int)) – perturbation order

  • method (str) – method

  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

Returns:

non-singlet EKO

Return type:

complex

eko.kernels.non_singlet_qed module

Collection of QED non-singlet EKOs.

eko.kernels.non_singlet_qed.contract_gammas(gamma_ns, aem)[source]

Contract anomalous dimension along the QED axis.

Parameters:
  • gamma_ns (2D numpy.ndarray) – non-singlet anomalous dimensions

  • aem (float) – electromagnetic coupling value

Returns:

gamma_ns – non-singlet anomalous dimensions

Return type:

1D numpy.ndarray

eko.kernels.non_singlet_qed.apply_qed(gamma_pure_qed, mu2_from, mu2_to)[source]

Apply pure QED evolution to QCD kernel.

Parameters:
  • gamma_ns (float) – pure QED part of the AD

  • mu2_from (float) – initial value of mu2

  • mu2_from – final value of mu2

Returns:

exp – pure QED evolution kernel

Return type:

float

eko.kernels.non_singlet_qed.as1_exact(gamma_ns, a1, a0, beta)[source]

O(as1aem1) non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^0 – O(as1aem1) non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet_qed.as2_exact(gamma_ns, a1, a0, beta)[source]

O(as2aem1) non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^1 – O(as2aem1) non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet_qed.as3_exact(gamma_ns, a1, a0, beta)[source]

O(as3aem1) non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^2 – O(as3aem1) non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet_qed.as4_exact(gamma_ns, a1, a0, beta)[source]

O(as3aem1) non-singlet exact EKO.

Parameters:
  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

e_ns^3 – O(as4aem1) non-singlet exact EKO

Return type:

complex

eko.kernels.non_singlet_qed.dispatcher(order, method, gamma_ns, as_list, aem_half, alphaem_running, nf, ev_op_iterations, mu2_from, mu2_to)[source]

Determine used kernel and call it.

In LO we always use the exact solution.

Parameters:
  • order (tuple(int,int)) – perturbation order

  • method (str) – method

  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • aem_list (numpy.ndarray) – electromagnetic coupling values

  • alphaem_running (Bool) – running of alphaem

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

  • mu2_from (float) – initial value of mu2

  • mu2_from – final value of mu2

Returns:

e_ns – non-singlet EKO

Return type:

complex

eko.kernels.non_singlet_qed.fixed_alphaem_exact(order, gamma_ns, a1, a0, aem, nf, mu2_from, mu2_to)[source]

Compute exact solution for fixed alphaem.

Parameters:
  • order (tuple(int,int)) – perturbation order

  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • aem (float) – electromagnetic coupling value

  • nf (int) – number of active flavors

  • mu2_from (float) – initial value of mu2

  • mu2_from – final value of mu2

Returns:

e_ns – non-singlet EKO

Return type:

complex

eko.kernels.non_singlet_qed.exact(order, gamma_ns, as_list, aem_half, nf, ev_op_iterations, mu2_from, mu2_to)[source]

Compute exact solution for running alphaem.

Parameters:
  • order (tuple(int,int)) – perturbation order

  • gamma_ns (numpy.ndarray) – non-singlet anomalous dimensions

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • aem_list (numpy.ndarray) – electromagnetic coupling values

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

  • mu2_from (float) – initial value of mu2

  • mu2_from – final value of mu2

Returns:

e_ns – non-singlet EKO

Return type:

complex

eko.kernels.singlet module

Collection of singlet EKOs.

eko.kernels.singlet.lo_exact(gamma_singlet, a1, a0, beta)[source]

Singlet leading order exact EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

singlet leading order exact EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nlo_decompose(gamma_singlet, j01, j11)[source]

Singlet next-to-leading order decompose EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • j01 (float) – LO-NLO evolution integral

  • j11 (float) – NLO-NLO evolution integral

Returns:

singlet next-to-leading order decompose EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nlo_decompose_exact(gamma_singlet, a1, a0, beta)[source]

Singlet next-to-leading order decompose-exact EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

singlet next-to-leading order decompose-exact EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nlo_decompose_expanded(gamma_singlet, a1, a0, beta)[source]

Singlet next-to-leading order decompose-expanded EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

singlet next-to-leading order decompose-expanded EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nnlo_decompose(gamma_singlet, j02, j12, j22)[source]

Singlet next-to-next-to-leading order decompose EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • j02 (float) – LO-NNLO evolution integral

  • j12 (float) – NLO-NNLO evolution integral

  • j22 (float) – NNLO-NNLO evolution integral

Returns:

singlet next-to-next-to-leading order decompose EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nnlo_decompose_exact(gamma_singlet, a1, a0, beta)[source]

Singlet next-to-next-to-leading order decompose-exact EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

singlet next-to-next-to-leading order decompose-exact EKO

Return type:

numpy.ndarray

eko.kernels.singlet.nnlo_decompose_expanded(gamma_singlet, a1, a0, beta)[source]

Singlet next-to-next-to-leading order decompose-expanded EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

Returns:

singlet next-to-next-to-leading order decompose-expanded EKO

Return type:

numpy.ndarray

eko.kernels.singlet.n3lo_decompose(gamma_singlet, j03, j13, j23, j33)[source]

Singlet N3LO decompose EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • j03 (float) – LO-N3LO evolution integral

  • j13 (float) – NLO-N3LO evolution integral

  • j23 (float) – NNLO-N3LO evolution integral

  • j33 (float) – N3LO-N3LO evolution integral

Returns:

singlet N3LO decompose EKO

Return type:

numpy.ndarray

eko.kernels.singlet.n3lo_decompose_exact(gamma_singlet, a1, a0, nf)[source]

Singlet N3LO decompose-exact EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

Returns:

singlet N3LO decompose-exact EKO

Return type:

numpy.ndarray

eko.kernels.singlet.n3lo_decompose_expanded(gamma_singlet, a1, a0, nf)[source]

Singlet N3LO decompose-expanded EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

Returns:

singlet N3LO decompose-expanded EKO

Return type:

numpy.ndarray

eko.kernels.singlet.eko_iterate(gamma_singlet, a1, a0, beta_vec, order, ev_op_iterations)[source]

Singlet NLO, NNLO or N3LO iterated (exact) EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta_vec (list) – list of the values of the beta functions

  • order (tuple(int,int)) – perturbative order

  • ev_op_iterations (int) – number of evolution steps

Returns:

singlet iterated (exact) EKO

Return type:

numpy.ndarray

eko.kernels.singlet.r_vec(gamma_singlet, beta, ev_op_max_order, order, is_exact)[source]

Compute singlet R vector for perturbative mode.

\[\begin{split}\frac{d}{da_s} \dSV{1}{a_s} &= \frac{\mathbf R (a_s)}{a_s} \cdot \dSV{1}{a_s}\\ \mathbf R (a_s) &= \sum\limits_{k=0} a_s^k \mathbf R_{k}\end{split}\]
Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • beta (list) – list of the values of the beta functions

  • ev_op_max_order (tuple(int,int)) – perturbative expansion order of U

  • order (tuple(int,int)) – perturbative order

  • is_exact (boolean) – fill up r-vector?

Returns:

R vector

Return type:

np.ndarray

eko.kernels.singlet.u_vec(r, ev_op_max_order)[source]

Compute the elements of the singlet U vector.

\[\begin{split}\ESk{n}{a_s}{a_s^0} &= \mathbf U (a_s) \ESk{0}{a_s}{a_s^0} {\mathbf U}^{-1} (a_s^0)\\ \mathbf U (a_s) &= \mathbf I + \sum\limits_{k=1} a_s^k \mathbf U_k\end{split}\]
Parameters:
Returns:

U vector

Return type:

numpy.ndarray

eko.kernels.singlet.sum_u(uvec, a)[source]

Sum up the actual U operator.

\[\mathbf U (a_s) = \mathbf I + \sum\limits_{k=1} a_s^k \mathbf U_k\]
Parameters:
Returns:

sum

Return type:

numpy.ndarray

eko.kernels.singlet.eko_perturbative(gamma_singlet, a1, a0, beta, order, ev_op_iterations, ev_op_max_order, is_exact)[source]

Singlet NLO,|NNLO| or N3LO perturbative EKO, depending on which r is passed.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

  • order (tuple(int,int)) – perturbative order

  • ev_op_iterations (int) – number of evolution steps

  • ev_op_max_order (tuple(int,int)) – perturbative expansion order of U

  • is_exact (boolean) – fill up r-vector?

Returns:

singlet perturbative EKO

Return type:

numpy.ndarray

eko.kernels.singlet.eko_truncated(gamma_singlet, a1, a0, beta, order, ev_op_iterations)[source]

Singlet NLO, NNLO or N3LO truncated EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • beta (list) – list of the values of the beta functions

  • order (tuple(int,int)) – perturbative order

  • ev_op_iterations (int) – number of evolution steps

Returns:

singlet truncated EKO

Return type:

numpy.ndarray

eko.kernels.singlet.dispatcher(order, method, gamma_singlet, a1, a0, nf, ev_op_iterations, ev_op_max_order)[source]

Determine used kernel and call it.

In LO we always use the exact solution.

Parameters:
  • order (tuple(int,int)) – perturbative order

  • method (str) – method

  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

  • ev_op_max_order (tuple(int,int)) – perturbative expansion order of U

Returns:

singlet EKO

Return type:

numpy.ndarray

eko.kernels.singlet_qed module

Collection of QED singlet EKOs.

eko.kernels.singlet_qed.eko_iterate(gamma_singlet, as_list, a_half, nf, order, ev_op_iterations, dim)[source]

Singlet QEDxQCD iterated (exact) EKO.

Parameters:
  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target strong coupling value

  • a0 (float) – initial strong coupling value

  • aem_list (float) – electromagnetic coupling values

  • nf (int) – number of active flavors

  • order (tuple(int,int)) – QCDxQED perturbative orders

  • ev_op_iterations (int) – number of evolution steps

Returns:

e_s^{order} – singlet QEDxQCD iterated (exact) EKO

Return type:

numpy.ndarray

eko.kernels.singlet_qed.dispatcher(order, method, gamma_singlet, as_list, a_half, nf, ev_op_iterations, ev_op_max_order)[source]

Determine used kernel and call it.

Parameters:
  • order (tuple(int,int)) – perturbative order

  • method (str) – method

  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • aem_list (numpy.ndarray) – electromagnetic coupling values

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

  • ev_op_max_order (tuple(int,int)) – perturbative expansion order of U

Returns:

e_s – singlet EKO

Return type:

numpy.ndarray

eko.kernels.valence_qed module

Collection of QED valence EKOs.

eko.kernels.valence_qed.dispatcher(order, method, gamma_valence, as_list, a_half, nf, ev_op_iterations, ev_op_max_order)[source]

Determine used kernel and call it.

Parameters:
  • order (tuple(int,int)) – perturbative order

  • method (str) – method

  • gamma_singlet (numpy.ndarray) – singlet anomalous dimensions matrices

  • a1 (float) – target coupling value

  • a0 (float) – initial coupling value

  • aem_list (numpy.ndarray) – electromagnetic coupling values

  • nf (int) – number of active flavors

  • ev_op_iterations (int) – number of evolution steps

  • ev_op_max_order (tuple(int,int)) – perturbative expansion order of U

Returns:

e_v – singlet EKO

Return type:

numpy.ndarray