Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] advh_v1_3.tar.gz(130 Kbytes)
Manuscript Title: CUBA - a library for multidimensional numerical integration
Authors: Thomas Hahn
Program title: CUBA
Catalogue identifier: ADVH_v1_3
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 176(2007)712
Programming language: C.
Computer: Designed for: all platforms with an ISO C99 C compiler
Tested on: x86 (Linux/gcc), Alpha (Tru64 Unix/gcc), PowerPC (Mac OS X/gcc).
Operating system: Linux, Tru64 Unix, Mac OS X.
RAM: 1M words
Word size: 8 bits
Keywords: Multidimensional numerical integration, Monte Carlo methods, Cubature rules, Variance reduction.
PACS: 02.60.Jh, 02.70Uu.
Classification: 4.11.

Does the new version supersede the previous version?: Yes

Nature of problem:
Multidimensional numerical integrations, e.g. of phase spaces.

Solution method:
The CUBA library contains the four algorithms Vegas, Suave, Divonne, and Cuhre with the following characteristics:

Routine Basic integration method Algorithm typeVariance 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 Carlostratified sampling
or Sobol quasi-random sample Monte Carlo aided by methods from
or cubature rules deterministic numerical optimisation
Cuhrecubature rules deterministicglobally adaptive subdivision

Reasons for new version:
User-requested improvements

Summary of revisions:
Version 1.3 adds versions of the integration routines where all number-of-points-like quantities are 64-bit integers (long long int in C, integer*8 in Fortran). This can become necessary in cases of slow convergence. The corresponding routine names are prefixed with "ll".

Unusual features:
Coherent interface in Fortran, C/C++, and Mathematica. Can integrate vector integrands.

Running time:
Varies greatly depending on the integrand and the chosen accuracy. Can range from seconds to days.