Cuba—a library for multidimensional numerical integration - Hahn, T. (Computer physics communications, 2005)
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. Title of program: Cuba Catalogue identifier: ADVH Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADVH Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Computer for which the program is designed and others on which is has been tested: Designed for: all platforms with an ISO C99 C compiler Tested on: x86 (Linux/gcc), Alpha (Tru64 Unix/gcc) Operating systems or monitors under which the program has been tested: Linux, Tru64 Unix Programming language used: C Memory required to execute with typical data: 1M words No. of bits in a word: 8 No. of processors used: 1 Has the code been vectorized or parallelized?: Not yet No. of lines in distributed program, including test data, etc.: 9380 No. of bytes in distributed program, including test data, etc.: 131 293 Distribution format: tar.gz Nature of the physical problem: Multidimensional numerical integrations, e.g., of phase spaces. Method of solution: The Cuba library contains the four algorithms Vegas, Suave, Divonne, and Cuhre with the following characteristics: Routine Basic integration method Algorithm type Variance reduction Vegas Sobol quasi-random sample Monte Carlo importance sampling Suave Sobol quasi-random sample Monte Carlo globally adaptive subdivision Divonne Korobov quasi-random sample Monte Carlo stratified sampling, or Sobol quasi-random sample Monte Carlo aided by methods from or cubature rules deterministic numerical optimization Cuhre cubature rules deterministic globally adaptive subdivision Typical running time: Varies greatly depending on the integrand and the chosen accuracy. Can range from seconds to days. Unusual features of the program: Coherent interface in Fortran, C/C++, and Mathematica. Can integrate vector integrands.