Jump to content

Draft:ParaMonte

From Wikipedia, the free encyclopedia
ParaMonte
Original author(s)The Computational Data Science Lab
Initial releaseJune 1, 2012 (2012-06-01)
Stable release
1.5.1 / Jan 1, 2021
Written in C, C++, Fortran, MATLAB, Python
Operating systemUnix-like, Microsoft Windows, Mac OS X
PlatformIntel x86 - 32-bit, x64, Aarch64
TypeStatistical package
LicenseMIT license
Websitecdslab.org/paramonte, github.com/cdslaborg/paramonte

ParaMonte[1] (standing for Parallel Monte Carlo) is an open-source, permissively-licensed (e.g., MIT License), serial and MPI / OpenMP / Coarray-parallelized library of Monte Carlo and Machine Learning algorithms for mathematical optimization, statistical sampling (e.g., Markov Chain Monte Carlo (MCMC)), and deterministic and stochastic numerical integration of mathematical density functions of arbitrary dimensions, in particular, the posterior distributions of Bayesian models in data science, machine learning, and scientific inference[2]. The library is written in a mixture of programming languages, primarily consisting of modern Fortran, C, C++, MATLAB, Python[3].

The ParaMonte Fortran library contains nearly 1 million lines[4] of fully generic multi-precision interfaces and routines for various Monte Carlo integration and machine learning tasks (e.g., cluster analysis[5]) written in Fortran-2008. The Fortran version of the library also contains fully modernized, generic, multi-precision implementations and significant extensions of the FFTPACK[6] for Fast Fourier Transform[7] and QUADPACK[8] for integration using Adaptive Quadrature methods[9].

The MATLAB[10] and Python[11] versions of the library are available through MathWorks MATLAB Central FileExchange[12] and Python Package Index[13], respectively. The library is released with many examples[14] and usage instructions[15] for different programming languages and is fully documented for all supported programming languages (e.g., C[16], C++[17], Fortran[18], MATLAB[19]).

See also

[edit]

References

[edit]
  1. ^ "Cdslaborg/Paramonte". GitHub.
  2. ^ Shahmoradi, Amir; Bagheri, Fatemeh (2021). "ParaMonte: A high-performance serial/Parallel Monte Carlo simulation library for C, C++, Fortran". Journal of Open Source Software. 6 (61): 2741. arXiv:2009.14229. Bibcode:2021JOSS....6.2741S. doi:10.21105/joss.02741.
  3. ^ Shahmoradi, Amir; Bagheri, Fatemeh (2020). "ParaDRAM: A Cross-Language Toolbox for Parallel High-Performance Delayed-Rejection Adaptive Metropolis Markov Chain Monte Carlo Simulations". arXiv:2008.09589 [cs.CE].
  4. ^ "Count LOC online".
  5. ^ "ParaMonte Fortran 2.0.0: Pm_clustering Module Reference".
  6. ^ Rodrigue, G. (1982). Parallel computations. Academic Press. ISBN 978-0-12-592101-5.
  7. ^ "ParaMonte Fortran 2.0.0: Pm_fftpack Module Reference".
  8. ^ Quadpack: A Subroutine Package for Automatic Integration. Springer. 6 December 2012. ISBN 978-3-642-61786-7.
  9. ^ "ParaMonte Fortran 2.0.0: Pm_quadPack Module Reference".
  10. ^ Shahmoradi, Amir; Kumbhare, Shashank (2020). "MatDRAM: A pure-MATLAB Delayed-Rejection Adaptive Metropolis-Hastings Markov Chain Monte Carlo Sampler". arXiv:2010.04190 [physics.data-an].
  11. ^ Shahmoradi, Amir; Bagheri, Fatemeh; Joshua Alexander Osborne (2020). "Fast fully-reproducible serial/Parallel Monte Carlo and MCMC simulations and visualizations via ParaMonte::Python library". arXiv:2010.00724 [cs.MS].
  12. ^ "ParaMonte - File Exchange - MATLAB Central".
  13. ^ "Paramonte: Plain Powerful Parallel Monte Carlo and adaptive MCMC Library".
  14. ^ "Cdslaborg/Paramontex". GitHub.
  15. ^ "| ParaMonte: Parallel Monte Carlo Library".
  16. ^ "ParaMonte C 2.0.0: ParaMonte C 2.0.0".
  17. ^ "ParaMonte C++ 2.0.0: ParaMonte C++ 2.0.0".
  18. ^ "ParaMonte Fortran 2.0.0: ParaMonte Fortran 2.0.0".
  19. ^ "ParaMonte MATLAB 3.0.0: ParaMonte MATLAB 3.0.0".
[edit]

Category:Computational statistics Category:Free Bayesian statistics software Category:Monte Carlo software Category:Numerical programming languages Category:Domain-specific programming languages Category:Probabilistic software