lintegrate: A C/Python numerical integration library for working in log-space
暂无分享,去创建一个
There are many situations in which the integral of a function must be evaluated numerically between given limits. For C codes, there is a range of numerical integration (sometimes called numerical quadrature) functions provided within the GNU Scientific Library (GSL) (Galassi et al., 2009). However, in situations where the integrand has an extremely large dynamic range these GSL functions can fail due to numerical instability. One way to get around numerical instability issues is to work with the natural logarithm of the function. The logarithm of the function cannot simply be integrated as this will not produce the logarithm of the integral of the original function. lintegrate provides a range of C integration functions, equivalent to functions in GSL, that allow the integration of a function when only working with the natural logarithm of the function is computationally practical. The result that is returned is the natural logarithm of the integral of the underlying function. lintegrate also provides a Python (vanRossum, 1995) module for accessing some of these functions in Python.
[1] Junier B. Oliva,et al. Arbitrary Conditional Distributions with Energy , 2021, NeurIPS.
[2] Charlie Nash,et al. Autoregressive Energy Machines , 2019, ICML.
[3] C. Messenger,et al. Hierarchical Bayesian method for detecting continuous gravitational waves from an ensemble of pulsars , 2018, Physical Review D.
[4] Guido Rossum,et al. Python Reference Manual , 2000 .