VakintEvaluationMethod
VakintEvaluationMethod
class VakintEvaluationMethodOne configured backend in a Vakint instance’s evaluation order.
Methods
| Name | Description |
|---|---|
__str__ |
String representation of the evaluation method. |
new_alphaloop_method |
Create a new VakintEvaluationMethod instance representing the AlphaLoop method |
new_fmft_method |
Create a new VakintEvaluationMethod instance representing the FMFT method. |
new_matad_method |
Create a new VakintEvaluationMethod instance representing the MATAD method. |
new_pysecdec_method |
Create a new VakintEvaluationMethod instance representing the numerical pySecDec method. |
__str__
VakintEvaluationMethod.__str__() -> builtins.strString representation of the evaluation method.
new_alphaloop_method
VakintEvaluationMethod.new_alphaloop_method() -> VakintEvaluationMethodCreate a new VakintEvaluationMethod instance representing the AlphaLoop method. This method does not take any parameters.
Examples
>>> from symbolica.community.hepkit.vakint import VakintEvaluationMethod
>>> alphaloop_method = VakintEvaluationMethod.new_alphaloop_method()
>>> "AlphaLoop" in str(alphaloop_method)
Truenew_fmft_method
VakintEvaluationMethod.new_fmft_method(
expand_masters: typing.Optional[builtins.bool] = None,
susbstitute_masters: typing.Optional[builtins.bool] = None,
) -> VakintEvaluationMethodCreate a new VakintEvaluationMethod instance representing the FMFT method.
Examples
>>> from symbolica.community.hepkit.vakint import VakintEvaluationMethod
>>> fmft_method = VakintEvaluationMethod.new_fmft_method(
... expand_masters=True,
... susbstitute_masters=True,
... )
>>> "FMFT" in str(fmft_method)
TrueParameters
expand_masters(Optional[bool]) Whether to expand master integrals. Default is True.susbstitute_masters(Optional[bool]) Whether to substitute master integrals. Default is True.
Notes
susbstitute_masters retains its historical misspelling for API compatibility; it means substitute_masters.
new_matad_method
VakintEvaluationMethod.new_matad_method(
expand_masters: typing.Optional[builtins.bool] = None,
susbstitute_masters: typing.Optional[builtins.bool] = None,
substitute_hpls: typing.Optional[builtins.bool] = None,
direct_numerical_substition: typing.Optional[builtins.bool] = None,
) -> VakintEvaluationMethodCreate a new VakintEvaluationMethod instance representing the MATAD method.
Examples
>>> from symbolica.community.hepkit.vakint import VakintEvaluationMethod
>>> matad_method = VakintEvaluationMethod.new_matad_method(
... expand_masters=True,
... susbstitute_masters=True,
... substitute_hpls=True,
... direct_numerical_substition=True,
... )
>>> "MATAD" in str(matad_method)
TrueParameters
expand_masters(Optional[bool]) Whether to expand master integrals. Default is True.susbstitute_masters(Optional[bool]) Whether to substitute master integrals. Default is True.substitute_hpls(Optional[bool]) Whether to substitute harmonic polylogarithms. Default is True.direct_numerical_substition(Optional[bool]) Whether to perform direct numerical substitution. Default is True.
Notes
susbstitute_masters and direct_numerical_substition retain their historical misspellings for API compatibility. They mean substitute_masters and direct_numerical_substitution, respectively.
new_pysecdec_method
VakintEvaluationMethod.new_pysecdec_method(
quiet: typing.Optional[builtins.bool] = None,
relative_precision: typing.Optional[builtins.float] = None,
min_n_evals: typing.Optional[builtins.int] = None,
max_n_evals: typing.Optional[builtins.int] = None,
reuse_existing_output: typing.Optional[builtins.str] = None,
numerical_parameters: typing.Optional[typing.Mapping[builtins.str, tuple[builtins.float, builtins.float]]] = None,
numerical_external_momenta: typing.Optional[typing.Mapping[builtins.int, tuple[builtins.float, builtins.float, builtins.float, builtins.float]]] = None,
) -> VakintEvaluationMethodCreate a new VakintEvaluationMethod instance representing the numerical pySecDec method.
Examples
>>> from symbolica.community.hepkit.vakint import VakintEvaluationMethod
>>> pysecdec_method = VakintEvaluationMethod.new_pysecdec_method(
... quiet=True,
... relative_precision=1e-7,
... min_n_evals=10_000,
... max_n_evals=1_000_000_000_000,
... reuse_existing_output=None,
... numerical_parameters={"muvsq": (1.0, 0.0), "coupling": (1.0, 2.0)},
... numerical_external_momenta={
... 1: (1.0, 0.0, 0.0, 0.0),
... 2: (0.0, 1.0, 0.0, 0.0),
... },
... )
>>> "PySecDec" in str(pysecdec_method)
TruepySecDec performs numerical evaluation, so every required mass, numerator parameter and external momentum must have a numerical value. Constructing this method does not run pySecDec; evaluation requires a working Python/pySecDec installation.
Parameters
quiet(Optional[bool]) Whether to suppress output from pySecDec. Default is True.relative_precision(Optional[float]) The relative precision to be achieved in the numerical integration. Default is 1e-7.min_n_evals(Optional[int]) The minimum number of evaluations to be performed in the numerical integration. Default is 10,000.max_n_evals(Optional[int]) The maximum number of evaluations to be performed in the numerical integration. Default is 1,000,000,000,000.reuse_existing_output(Optional[str]) Path to existing pySecDec output to reuse. Default is None.numerical_parameters(Optional[Dict[str, Tuple[float, float]]]) Mass and numerator parameter values as (real, imaginary) pairs. Pole masses must be real. Default is an empty dictionary.numerical_external_momenta(Optional[Dict[int, Tuple[float, float, float, float]]]) A dictionary mapping external momentum indices to their numerical 4-vector values. Default is an empty dictionary.