This talk presents a new Julia package for efficient and generic Monte Carlo integration in high-dimensional and complex domains, featuring the Vegas algorithm for self-adaptive important sampling and an improved algorithm for increased robustness. The package demonstrates Julia's superiority over C/C++/Fortran and Python for high-dimensional Monte Carlo integration by enabling the easy creation of user-defined integrand evaluation functions with the speed of C and the flexibility of Python.
Evaluating integrals in high-dimensional spaces and complex domains is a common task in scientific research, and Monte Carlo methods provide robust and efficient solutions to this problem. To our knowledge, the Julia community currently lacks a native and feature-complete package for generic high-dimensional Monte Carlo integration. Our package addresses this gap by providing a carefully tested, well-documented, officially registered solution that supports multiple algorithms and both MPI and threading parallelization. In Monte Carlo integration, the user must implement an integrand evaluation function evaluated millions or even billions of times. Julia's speed and flexibility make this task significantly easier for the user compared to similar packages in C/C++/Fortran and Python. As such, our package offers a highly competitive Monte Carlo integration tool on the market. Detailed tutorials and the source code can be found at the link https://github.com/numericalEFT/MCIntegration.jl.