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_v4_2.tar.gz(712 Kbytes)
Manuscript Title: Concurrent Cuba
Authors: Dr. Thomas Hahn
Program title: Cuba
Catalogue identifier: ADVH_v4_2
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 207(2016)341
Programming language: C.
Computer: Designed for: all platforms with an ISO C99 C compiler Tested on: x86-Linux/gcc, x86-MacOS/clang, x86-Windows/Cygwin-gcc.
Operating system: Linux, Mac OS, Windows(Cygwin).
Has the code been vectorised or parallelized?: Yes, Parallelized
RAM: 1M words
Keywords: Multidimensional numerical integration, Monte Carlo methods, Cubature rules, Variance reduction.
PACS: 02.60.Jh.
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 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 or Sobol quasi-random sample or cubature rules Monte Carlo Monte Carlo deterministic deterministic stratified sampling, aided by methods from numerical optimization
Cuhre cubature rules deterministic globally adaptive subdivision

Reasons for new version:
Parallelization

Summary of revisions:
Version 4.2 adds parallelization based on the fork/wait POSIX functions. This means that no extra software needs to be installed, almost no constraints are imposed on the integrand function, and the parallelization works largely automatically.

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.