computation
Computation Primitives and Conversions
Core building blocks for computing distribution characteristics and conversions between them (e.g., PDF to CDF, CDF to PPF).
- class pysatl_core.distributions.computation.Computation(*args, **kwargs)[source]
-
Protocol for computations that evaluate a single characteristic.
- property target: GenericCharacteristicName
- __init__(*args, **kwargs)
- class pysatl_core.distributions.computation.AnalyticalComputation(target, func)[source]
Bases:
GenericAnalytical computation provided directly by a distribution.
- Parameters:
target (
str) – Characteristic name (e.g., “pdf”, “cdf”).func (
ComputationFunc[In,Out]) – Analytical function that computes the characteristic.
-
target:
TypeAliasType
- class pysatl_core.distributions.computation.FittedComputationMethod(target, sources, func)[source]
Bases:
GenericFitted conversion method ready for use.
- Parameters:
target (
str) – Destination characteristic name.sources (
Sequence[str]) – Source characteristic names (typically length 1 for unary conversions).func (
ComputationFunc[In,Out]) – Callable implementing the fitted conversion.
-
target:
TypeAliasType
- class pysatl_core.distributions.computation.ComputationMethod(target, sources, fitter=None, evaluator=None)[source]
Bases:
GenericFactory for creating fitted computation methods.
This class represents a conversion method that needs to be fitted to a specific distribution before it can be used.
- Parameters:
target (
str) – Destination characteristic name.sources (
Sequence[str]) – Source characteristic names (typically length 1 for unary conversions).fitter (
Fitter[In,Out] | None) – Function that fits the computation method to a distribution. If provided, the method is considered cacheable (fitting may perform expensive precomputation).evaluator (
Evaluator[In,Out] | None) – Direct evaluator that performs the computation in one step, without a separate fitting stage. If provided, the method is considered non-cacheable at the strategy level.
-
target:
TypeAliasType
- __init__(target, sources, fitter=None, evaluator=None)
- prepare(distribution, **options)[source]
Prepare a callable method for a specific distribution. :rtype:
FittedComputationMethod[typing.Any, typing.Any]If
fitteris provided, run the fitting stage and return the fitted method.If
evaluatoris provided, bind the distribution and return a lightweight fitted wrapper.
- Parameters:
distribution (pysatl_core.distributions.distribution.Distribution)
options (Any)
- Return type:
- evaluate(distribution, *args, **options)[source]
Evaluate direct computation methods.
This is only available for methods defined via
evaluator.- Return type:
typing.Any
- Parameters:
distribution (pysatl_core.distributions.distribution.Distribution)
args (Any)
options (Any)
- fit(distribution, **options)[source]
Fit the computation method to a specific distribution.
- Parameters:
distribution (
Distribution) – Distribution to fit the computation method to.**options (
Any) – Additional options passed to the fitter.
- Returns:
Fitted method ready for evaluation.
- Return type:
- __call__(distribution, *args, **options)[source]
Fit if possible and then evaluate
- Return type:
typing.Any
- Parameters:
distribution (pysatl_core.distributions.distribution.Distribution)
args (Any)
options (Any)