Welcome to the [Monte Carlo + Machine Learning = Library] (MCMLL) Webpage

Links | What is MCMLL ? | Licensing | Platforms | Software requirements | Status | MCMLL Features | Tutorials | Example applications | TODO


Download and Sourceforge project details | wiki | library reference

What is MCMLL ?

MCMLL is a C++ template library (header files only) for implementing applications using mainly Monte-Carlo methods. An example is using evolutionary algorithms for global optimization. MCMLL provides multi-threaded Differential Evolution (DE) with many variants, Particle Swarm Optimization (PSO) and many other. Other available methods are Sequential Monte-Carlo (Particle Filters) for state tracking. MCMLL provides its own expression templates based vector and matrix classes to enable high performance and programmer-friendly coding. MCMLL was initiated as a C++ platform for research projects and became a solid foundation over the years. Therefore, please be aware that the library is targeted primarily to experienced C++ programmers with C++ templates knowledge!


MCMLL and the shipped example applications are licensed under GNU GPL v2


MCMLL is developed on 64-bit Linux. Supported Compilers: GCC-4.5. Porting to other platforms should be straightforward, patches are welcome. See also TODO section.

Software requirements

MCMLL requires the Boost libraries v1.46. See also TODO section.


MCMLL is actively maintained and extended.

MCMLL Features


Example applications

MCMLL requiers/uses SCons for the build system of the example applications, libsndfile (+dev files), gnuplot, matplotlib (optional). ncurses (+dev files), matplotlib (optional). The included example applications are:



This project was supported by grants from the following institutions: