CUBA – a library for multidimensional numerical integration

CUBA – a library for multidimensional numerical integration

January 26, 2005 | T. Hahn
The CUBA library provides four general-purpose multidimensional numerical integration algorithms: Vegas, Suave, Divonne, and Cuhre. These algorithms are designed to handle vector integrands and offer similar interfaces in Fortran, C/C++, and Mathematica. Each algorithm has unique features and strengths: - **Vegas**: A Monte Carlo method that uses importance sampling for variance reduction. It has been improved with Sobol quasi-random numbers and the ability to increase the number of samples in each iteration. - **Suave**: Combines importance sampling with a globally adaptive subdivision strategy. It divides the integration region into subregions and selects the subregion with the largest error for further subdivision. - **Divonne**: Uses stratified sampling and numerical optimization to find the minimum and maximum of the integrand. It includes features like specifying peak locations and handling integrands near the integration border. - **Cuhre**: A deterministic algorithm that uses a globally adaptive subdivision scheme with cubature rules. It is particularly effective in moderate dimensions. All algorithms are available for download and compilation, with detailed usage instructions provided for Fortran, C/C++, and Mathematica. The library has been thoroughly tested, and the author welcomes feedback and reports of bugs and performance issues.The CUBA library provides four general-purpose multidimensional numerical integration algorithms: Vegas, Suave, Divonne, and Cuhre. These algorithms are designed to handle vector integrands and offer similar interfaces in Fortran, C/C++, and Mathematica. Each algorithm has unique features and strengths: - **Vegas**: A Monte Carlo method that uses importance sampling for variance reduction. It has been improved with Sobol quasi-random numbers and the ability to increase the number of samples in each iteration. - **Suave**: Combines importance sampling with a globally adaptive subdivision strategy. It divides the integration region into subregions and selects the subregion with the largest error for further subdivision. - **Divonne**: Uses stratified sampling and numerical optimization to find the minimum and maximum of the integrand. It includes features like specifying peak locations and handling integrands near the integration border. - **Cuhre**: A deterministic algorithm that uses a globally adaptive subdivision scheme with cubature rules. It is particularly effective in moderate dimensions. All algorithms are available for download and compilation, with detailed usage instructions provided for Fortran, C/C++, and Mathematica. The library has been thoroughly tested, and the author welcomes feedback and reports of bugs and performance issues.
Reach us at info@study.space