Pitkin, Matthew (2022) lintegrate: A C/Python numerical integration library for working in log-space. Journal of Open Source Software, 7 (73): 4231. ISSN 2475-9066
Full text not available from this repository.Abstract
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.