ranjanan / MonteCarloIntegration.jl

A package for multi-dimensional integration using monte carlo methods
MIT License
37 stars 17 forks source link
monte-carlo-integration numerical-integration

Monte Carlo Integration

CI Coverage Status

This package provides multidimensional integration algorithms based on monte carlo methods. The biggest advantage of using monte carlo methods is that their convergence rate is independent of the dimension of the integral.

Currently, this package only provides a routine called VEGAS:

vegas(f, st, en, kwargs...)

VEGAS is a Monte Carlo algorithm for multidimensional integration based on adaptive importance sampling. It divides each dimension into bins and adaptively adjusts bin widths so points are sampled from the region where the function has highest magnitude.

Arguments:

Kwargs:

Output:

References:

Batch interface

Most of the computation time in an integration algorithm is usually spent in function evaluations. The batch inteface allows users to provide batches of function evaluations, instead of supplying a function directly to be integrated. Users can now evaluate a number of points in parallel.

Roadmap