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. |
new_rustred_method |
Create the opt-in FORM-independent RustRed scalar-integral evaluation 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_masses: typing.Optional[typing.Mapping[builtins.str, 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_masses={"muvsq": 1.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 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_masses(Optional[Dict[str, float]]) A dictionary mapping mass parameter names to their numerical values. 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.
new_rustred_method
VakintEvaluationMethod.new_rustred_method(substitute_masters: typing.Optional[builtins.bool] = None) -> VakintEvaluationMethodCreate the opt-in FORM-independent RustRed scalar-integral evaluation method.
This method leaves Vakint’s tensor-reduction selection unchanged. It uses shipped closing artifacts for supported one- through three-loop equal-mass vacuum families and guarded, finite-tested candidate programs at four loops. Four-loop success is pointwise reduction, not arbitrary-index closure. The default FeynKit tensor prepass is also FORM-independent; explicitly choosing the historical AlphaLoop tensor prepass still requires FORM.
Examples
rustred_method = VakintEvaluationMethod.new_rustred_method(
substitute_masters=True
)Parameters
substitute_masters(Optional[bool]) Whether to substitute Vakint’s known master evaluations. Default is True.