geko package

Compute the point-like contribution to the photon evolution.

geko.apply_pdf_paths(lhapdf_like: Any, eko_path: Path, pl_path: Path) dict[Tuple[float, int], dict[str, ndarray]]

Evolve PDF with eko + geko.

The PDF lhapdf_like must be normalized as \(f / \alpha_{em}\), and the result returned has the same normalization.

geko.build_all_recipes(evolgrid: list[Tuple[float, int]], atlas: Atlas) list[Evolution]

Construct all recipes for all EP.

geko.build_recipes(ep: Tuple[float, int], atlas: Atlas) list[Evolution]

Construct recipe for given EP.

geko.combine_operator(ep: Tuple[float, int], atlas: Atlas, path: Path, ekop: EKO) None

Combine all parts to a true operator.

geko.compute(theory_card: TheoryCard, operator_card: OperatorCard, path: Path, eko_path: Path) None

Compute point-like contribution.

geko.load(path: Path) dict[Tuple[float, int], ndarray]

Load from disk.

Submodules

geko.anomalous_dimensions module

Point-like anomalous dimensions.

Note that we adopt the normalization of [MVV02], in particular we implement

\[\delta_p^{-1} k_p\]

This yields additional factors with respect to [GRV92]:

  • one (-1) for the Mellin definition of the anomalous dimension, see [GRV92] (Eq. 2.3)

  • one 2 for either the a_em and/or a_s definition

The \(N_C\) is factored both in [MVV02] and [GRV92].

geko.anomalous_dimensions.dis_gamma_coeff_as0(n: complex, _nf: int, cache: ndarray) complex

LO DISγ \(F_2\) contribution.

Implements Eq. (5.8) of [MVV02], in Mellin space.

geko.anomalous_dimensions.gluon_as1_msbar(n: complex, _nf: int, _cache: ndarray) complex

NLO gluon contribution.

Implements Eq. (2.10) of [GRV92].

geko.anomalous_dimensions.ns(order_qcd: int, n: complex, nf: int, cache: ndarray, is_disg: bool = True) ndarray

Tower of non-singlet contributions.

geko.anomalous_dimensions.ns_as0(n: complex, _nf: int, _cache: ndarray, _is_disg: bool = True) complex

LO non-singlet contribution.

Implements Eq. (2.9) of [GRV92].

geko.anomalous_dimensions.ns_as1(n: complex, nf: int, cache: ndarray, is_disg: bool = True) complex

NLO non-singlet contribution.

Shift to DISγ using Eq. (4.20) of [MVV02].

geko.anomalous_dimensions.ns_as1_msbar(n: complex, nf: int, cache: ndarray) complex

NLO non-singlet contribution.

Implements Eq. (2.9) of [GRV92].

geko.anomalous_dimensions.singlet(order_qcd: int, n: complex, nf: int, cache: ndarray, is_disg: bool = True) ndarray

Tower of singlet contributions.

geko.anomalous_dimensions.singlet_as0(n: complex, nf: int, cache: ndarray, is_disg: bool = True) ndarray

LO non-singlet contribution.

Implements Eq. (2.6) and (2.9) of [GRV92].

geko.anomalous_dimensions.singlet_as1(n: complex, nf: int, cache: ndarray, is_disg: bool = True) ndarray

NLO singlet contribution.

Implements Eq. (2.6) and (2.9) of [GRV92]. Shift to DISγ using Eq. (4.20) of [MVV02].

geko.op module

Compute the point-like operators.

geko.op.blowup(op: dict[int, ndarray], nf: int) ndarray

Convert anomalous dimension basis to flavor basis.

geko.op.compute_one(xgrid: XGrid, sc: Couplings, seg: Evolution, path: Path, order_qcd: int, ev_op_iterations: int) None

Compute operator for the given evolution patch.

geko.op.ns_as0_exact(n: complex, a1: float, a0: float, nf: int) complex

LO non-singlet exact solution.

geko.op.ns_iterate(n: complex, a1: float, a0: float, nf: int, order_qcd: int, ev_op_iterations: int = 30) complex

Non-singlet iterative solution.

geko.op.quad_ker(t: float, mode: int, logx: float, a1: float, a0: float, nf: int, order_qcd: int, ev_op_iterations: int) float

Integration kernel.

geko.op.singlet_as0_exact(n: complex, a1: float, a0: float, nf: int) ndarray

LO singlet exact solution.

geko.op.singlet_iterate(n: complex, a1: float, a0: float, nf: int, order_qcd: int, ev_op_iterations: int = 30) ndarray

Singlet iterative solution.