elisa.util.integrate#
Numerical integration.
- make_integral_factory(param_id: ParamID, interval: JAXArray, method: AdaptQuadMethod = 'quadgk', kwargs: dict[str, Any] | None = None) Callable[[ModelCompiledFn], ModelCompiledFn][source]#
Get integral factory over the interval.
- Parameters:
- param_id
str Parameter ID.
- interval: array_like
The interval, a 2-element sequence.
- method{‘quadgk’, ‘quadcc’, ‘quadts’, ‘romberg’, ‘rombergts’}, optional
Numerical integration method used to integrate over the parameter. Available options are:
'quadgk': global adaptive quadrature by Gauss-Konrod rule'quadcc': global adaptive quadrature by Clenshaw-Curtis rule'quadts': global adaptive quadrature by trapz tanh-sinh rule'romberg': Romberg integration'rombergts': Romberg integration by tanh-sinh (a.k.a. double exponential) transformation
The default is
'quadgk'.- kwargs
dict, optional Extra kwargs passed to integration methods. See [1] for details.
- param_id
- Returns:
- integral_factory
callable() Given a model function, the integral factory outputs a new model function with the interval parameter being integrated out.
- integral_factory
References
[1]