Source code for eko.runner

"""Manage steps to DGLAP solution, and operator creation."""

import os
from typing import Union

from ..io.runcards import OperatorCard, TheoryCard
from ..io.types import RawCard
from . import legacy


# TODO: drop this altogether, replacing just with managed.solve
# it is currently kept not to break the interface, but the runcards upgrade and
# path conversion should be done by the caller, here we just clearly declare
# which types we expect
[docs] def solve( theory_card: Union[RawCard, TheoryCard], operators_card: Union[RawCard, OperatorCard], path: os.PathLike, ): r"""Solve DGLAP equations in terms of evolution kernel operators (EKO). The EKO :math:`\mathbf E_{k,j}(a_s^1\leftarrow a_s^0)` is determined in order to fullfill the following evolution .. math:: \mathbf f(x_k,a_s^1) = \mathbf E_{k,j}(a_s^1\leftarrow a_s^0) \mathbf f(x_j,a_s^0) The configuration is split between the theory settings, representing Standard Model parameters and other defining features of the theory calculation, and the operator settings, those that are more closely related to the solution of the |DGLAP| equation itself, and determine the resulting operator features. Note ---- For further information about EKO inputs and output see :doc:`/code/IO` """ # TODO: drop this legacy.Runner(theory_card, operators_card, path).compute()