Skip to main content
Have a personal or library account? Click to login
Guaranteed Automatic Integration Library (GAIL): An Open-Source MATLAB Library for Function Approximation, Optimization, and Integration Cover

Guaranteed Automatic Integration Library (GAIL): An Open-Source MATLAB Library for Function Approximation, Optimization, and Integration

Open Access
|Jul 2022

Figures & Tables

Figure 1

Structure of GAIL Algorithms.

Figure 2

GAIL architectural design. The largest yellow circle contains a compulsory input function f. The other inputs in small yellow circles are typically optional and, when absent, set to default values in the GAIL algorithms. Each GAIL algorithm is iterative in nature. In the ith iteration, a solution estimate soli is computed along with its error estimate ei obtained by ni sampling points in the input domain D. When ei is not greater than the tolerance, ϵ, GAIL iterations stop and return the final numerical solution sol (in the largest blue circle). Other outputs (in small blue circles) are bundled in a MATLAB structure array.

Figure 3

Function f defined in (1), sampling points and best estimates retured by solvers MATLAB’s fminbnd, Chebfun’s min, and GAIL’s funmin_g. This figure is reproducible by the MATLAB script, demo_funmin_g2_samplepoints.m available in GAIL’s ‘develop’ branch at https://github.com/GailGithub/GAIL_Dev/tree/develop/GAIL_Matlab/Papers/GAIL_JORS.

Table 1

Performance of funmin_g, fminbnd, and min with automatic stopping criteria for optimizing the function defined in Example 1. This table is reproducible by the MATLAB script, demo_funmin_g2_samplepoints.m.

METHODFUNMIN_GFMINBNDMIN
| – x*|1.0 × 10–100.51.0 × 10–8
|f() – f(x*)|04.01.3 × 10–7
n1131037
Time (seconds)0.0420.0480.022
Table 2

Essential code in the MATLAB script, gail_jors_eg1.m, for invoking funmin_g in Example 1.

Table 3

Average performance of cubatures with automatic stopping criteria for estimating the integrals in (2) for 1000 independent runs. These results can be conditionally reproduced with the MATLAB command, KeisterCubatureExampleJORS(1000), in GAIL.

d = 3, = 0.005
METHODMCLATTICESOBOLBAYES LATTICEBAYES NET
Absolute Error1.1 × 10–35.2 × 10–45.2 × 10–43.4 × 10–75.8 × 10–4
Tolerence Met100%100%100%100%100%
n25000004100390041001800
Time (seconds)0.17000.00970.00650.01000.1200
d = 8, = 0.050
METHODMCLATTICESOBOLBAYES LATTICEBAYES NET
Absolute Error1.2 × 10–21.4 × 10–26.9 × 10–32.1 × 10–18.8 × 10–3
Tolerence Met100%99%100%98%100%
n7400000150001600010000008200
Time (seconds)1.10000.03800.02402.40000.3600
Table 4

Essential code in the MATLAB script, gail_jors_eg2.m, for invoking GAIL’s (Q)MC algorithms in Example 2.

DOI: https://doi.org/10.5334/jors.381 | Journal eISSN: 2049-9647
Language: English
Submitted on: Jun 24, 2021
Accepted on: Apr 13, 2022
Published on: Jul 29, 2022
Published by: Ubiquity Press
In partnership with: Paradigm Publishing Services
Publication frequency: 1 issue per year

© 2022 Xin Tong, Sou-Cheng T. Choi, Yuhan Ding, Fred J. Hickernell, Lan Jiang, Lluís Antoni Jiménez Rugama, Jagadeeswaran Rathinavel, Kan Zhang, Yizhi Zhang, Xuan Zhou, published by Ubiquity Press
This work is licensed under the Creative Commons Attribution 4.0 License.