Skip to content

A small project to develop a package capable of n-dimensional Monte Carlo Integration

License

Notifications You must be signed in to change notification settings

lonelyneutrin0/MNI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Monte Carlo Integration

Monte Carlo Integration provides a method to estimate complex integrals through the random sampling of points. For a function $f(\mathbf x)$, the integral over an open space $D$ can be defined as

$$I = \int_D f(\mathbf x) d \mathbf x$$

This can be approximated as a Riemann sum through the random sampling of N points and the corresponding function values-

$$I \approx \frac{V}{N}\sum_{i=1}^N f(\mathbf x_i)$$

where $V$ is the volume of $D$ and $N$ is the number of points sampled.
The accuracy of the approximation improves as $N \to \infty$ as expected. However, it can also be improved by using a non uniform probability distribution curve.

$$I = \int{\frac{f(\mathbf x)}{p(\mathbf x)} d \mathbf x} \approx \frac{1}{N}\sum_{i=1}^N \frac{f(\mathbf x)}{p(\mathbf x)}$$

Ideally, the probability distribution function should resemble the shape of the curve.


This class was created for use in my Quantum Monte Carlo Methods repository.

About

A small project to develop a package capable of n-dimensional Monte Carlo Integration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages