ParaMonte

Version 1.5.2 (4.77 MB) by CDSLAB
ParaMonte: Parallel Monte Carlo, MCMC, and Machine Learning Library for Bayesian inference in MATLAB, Python, Fortran, C++, C.
5.8K Downloads
Updated 12 Jul 2021
QUICKSTART
  1. Do not download the library source from the download link on this page, unless you want to build the library from source.
  2. To download the prebuilt ParaMonte 2 MATLAB library for your platform, see this page: https://www.cdslab.org/paramonte/generic/latest/installation/matlab/#the-fast-way
  3. ParaMonte 2 MATLAB library is tested with MATLAB R2023a and beyond. It may, but more likely will not work with older MATLAB versions.
  4. To see some of the many new powerful sampling, analysis, and visualization tools of ParaMonte 2, visit: https://www.cdslab.org/paramonte/matlab/3/classParadram.html#example-himmelblau
  5. The new ParaMonte 2 MATLAB release has significantly improved the parallelism features of the library and allows parallel Monte Carlo and MCMC sampling using either MATLAB Parallel Toolbox or the traditional fast powerful parallelism via Intel, MPICH, or OpenMPI MPI libraries.
  6. ParaMonte 2 MATLAB pre-release packages are shipped with hundreds of examples. For a quick review of how to run them see this page: https://www.cdslab.org/paramonte/generic/latest/usage/examples/matlab/#building-and-running-examples-from-the-pre-built-library-releases
  7. ParaMonte 2 MATLAB release has a dedicated comprehensive documentation website. To see the documentation and examples of the many functionalities available, see: https://www.cdslab.org/paramonte/matlab/3/index.html
  8. Interested in updates on the package? Watch and star the GitHub package here: https://github.com/cdslaborg/paramonte
  9. To learn more about ParaMonte and how to acknowledge the usage, see: https://www.cdslab.org/paramonte/generic/latest/overview/preface/
  10. The following example code samples a 4-dimensional MultiVariate Normal (MNV) distribution via the ParaDRAM sampler in serial mode,
addpath(genpath("./"),"-begin") % change this path to the root directory of paramonte where +pm folder exists.
sampler = pm.sampling.Paradram();
getLogFunc = @(x) -0.5 * sum( x.^2 );
sampler.run ( getLogFunc ... the objective function
, 4 ... assume a 4-dimensional objective function
);
sample = sampler.readSample(); % read the output sample(s).
sample{1}.vis.triplex.lshc3.make(); % Make a triplex (corner) plot of the first output sample.
sample{1}.vis.triplex.lshc3.savefig("lshc3.png"); % save the figure.
sample{1}.vis.triplex.lshc2.make(); % Make a triplex (corner) plot of the first output sample.
sample{1}.vis.triplex.lshc2.savefig("lshc2.png"); % save the figure.