Journal of Open Research Software (Jul 2022)
Guaranteed Automatic Integration Library (GAIL): An Open-Source MATLAB Library for Function Approximation, Optimization, and Integration
Abstract
Function approximation, integration, and optimization are three fundamental mathematical problems. They are especially challenging when the functions involved fluctuate wildly in certain parts of the domain, or if the domain is high dimensional. Ideally, algorithms to solve these problems should possess a rigorous mathematical framework, data-based (probabilistic) error bounds, and advanced sampling strategies for efficiency. The Guaranteed Automatic Integration Library (GAIL) is our multi-year research effort addressing these aforementioned challenges. GAIL is a free, open-source MATLAB software library with nine main algorithms undergirded by over a dozen peer-reviewed publications. GAIL solves problems in univariate and multivariate integration, and in univariate function approximation and optimization. GAIL algorithms adaptively sample data values of the input function and automatically stop when the error tolerance has been reached. In some cases, GAIL algorithms are proven to have asymptotically optimal computational cost. We consistently employ good software development practices for GAIL such as unit tests, searchable online documentation, and Git version control. GAIL is available at https://gailgithub.github.io/GAIL_Dev/.
Keywords