numericalEFT / MCIntegration.jl

Robust and fast Monte Carlo algorithm for high dimension integration
https://numericaleft.github.io/MCIntegration.jl/dev
MIT License
35 stars 3 forks source link

Support quasi Monte Carlo #53

Open frankier opened 9 months ago

frankier commented 9 months ago

It looks like currently only RNG -based sampling is supported. As discussed in https://github.com/SciML/Integrals.jl/issues/11 Cuba supports using QMC. It is also supported in https://github.com/ranjanan/MonteCarloIntegration.jl . Would it be possible to integrate this into MCIntegration.jl too?

You can use e.g. https://github.com/SciML/QuasiMonteCarlo.jl for a generic interface to different low-discrepancy sequences.

kunyuan commented 8 months ago

Thank you for bringing it up. We will look into it. How urgent do you need it?

frankier commented 8 months ago

Thanks for your attention and for asking! I don't have an exact schedule for the need, but I am likely to at least integrate this package via Integrals.jl for my package ComputerAdaptiveTesting.jl. The benefit would be mainly to offer more options to users of my package.

MonteCarloIntegration.jl already support QMC, but no longer supports newer versions of QuasiMonteCarlo.jl, which my package also uses directly for non-adaptive integration and to allow specific optimisations and caching, so it would be nice to use this package instead so I could also offer adaptive integration.

More generally, this may be the thing to bring things up to feature parity with MonteCarloIntegration.jl, which will allow it to be deprecated since it is not being actively developed at the moment. Hopefully this helps prioritise.

Happy holidays!

P.S. Another point of reference is Cuba https://feynarts.de/cuba/ which claims it can do the sub-integrations using QMC. I don't exactly understand how this relates to the paper https://link.springer.com/chapter/10.1007/978-3-642-18743-8_25 which suggests some adaptations are needed to integrate QMC effectively.