Cuba - a library for multidimensional numerical integration
T. Hahn
TL;DR
The paper presents Cuba, a library of four multidimensional integrators (Vegas, Suave, Divonne, Cuhre) with vector integrands and uniform interfaces across Fortran, C/C++, and Mathematica. Vegas and Cuhre implement Monte Carlo and deterministic cubature foundations, respectively, while Suave and Divonne blend these paradigms with novel adaptive strategies and optimization-guided partitioning. Key contributions include new Suave and Divonne features, higher-dimensional support, and cross-language integration, enabling straightforward cross-checking of results. The work demonstrates practical impact by offering robust, interchangeable tools for high-precision numerical integration across physics and related fields, with extensive test suites and performance benchmarks.
Abstract
The Cuba library provides new implementations of four general-purpose multidimensional integration algorithms: Vegas, Suave, Divonne, and Cuhre. Suave is a new algorithm, Divonne is a known algorithm to which important details have been added, and Vegas and Cuhre are new implementations of existing algorithms with only few improvements over the original versions. All four algorithms can integrate vector integrands and have very similar Fortran, C/C++, and Mathematica interfaces.
