Now that Mathematica6 seems to offer adaptive Monte Carlo natively
within NIntegrate, my question is - which algorithm(s)? I would like
to know whether Mathematica implemented their own version of VEGAS or
perhaps some other adaptive Monte Carlo algorithm... Does anyone know
any specifics about this?
Thanks,
Denis
The Monte Carlo algorithms are described in the advanced
documentation.
See "Global Adaptive Monte Carlo and Quasi Monte Carlo Strategies" in
http://reference.wolfram.com/mathematica/tutorial/NIntegrateIntegrationStrategies.html
and "MonteCarloRule" in
http://reference.wolfram.com/mathematica/tutorial/NIntegrateIntegrationRules.html
(You can find these documents in the Help Browser if you have version
6.0.)
NIntegrate's adaptive Monte Carlo algorithm is closer to MISER
(recursive stratified integration) than to VEGAS (importance
sampling).
I have an implementation of an adaptive importance sampling algorithm,
please, email me if you would like to try it.
Still, one can use the MonteCarloRule's option "PointGenerator" to
implement an importance sampling algorithm (and use it either with
crude or adaptive Monte Carlo algorithm).
As for NIntegrate in 5.2, one can actually do stratified integration
through the range specification. See again the integration strategies
document above.
Anton Antonov,
Wolfram Research, Inc.