A repository for exploring Markov Chain Monte Carlo (MCMC) methods through theory, pseudocode, and interactive Jupyter Notebook implementations. This project covers various MCMC algorithms, including Importance Sampling, Metropolis–Hastings, Gibbs Sampling, Hamiltonian Monte Carlo (HMC), and the Metropolis Adjusted Langevin Algorithm (MALA), with relevant theoretical foundations and practical use cases.
This repository contains:
- Algorithm Implementations: Clear pseudocode and Python implementations for key MCMC methods.
- Real-World Applications: Notebook demonstrating applications in Bayesian linear regression, audio signal reconstruction, image reconstruction using HMC, and implicit neural representations (Neural SDF) with MALA.
- Python 3.9+
- Jupyter Notebook
- Required Python libraries:
- NumPy
- SciPy
- Matplotlib
- PyTorch (for neural SDF examples)
You can install the required libraries via the provided requirements.txt file:
pip install -r requirements.txtNote: this repository is still a work in progress, especially the notebook part