Sign inSign up

mparno/muq

By mparno

•Updated almost 4 years ago

Image
0

1.3K

mparno/muq repository overview

⁠Overview

Welcome to MUQ (pronounced “muck”), a modular software framework for defining and solving forward and inverse uncertainty quantification problems.

⁠Purpose

Uncertainty quantification (UQ) is important in many different applications. MUQ aims to make advanced probabilistic UQ tools easy to use in either c++ or python, and enable cutting-edge method development through its modular structure.

MUQ has a variety of capabilities, including:

  • Various Markov chain Monte Carlo methods
  • Graphical modeling with a mix of statistical and physical components.
  • Gaussian processes
  • Karhunen Loève expansions.
  • Transport maps
  • Nonlinear Optimization
  • Generalized Polynomial Chaos Expansions

⁠Installation:

MUQ is available on Linux and OSX as a conda package, docker image, or from source. For many users, getting started can be as easy as running

conda install -c conda-forge muq

For more installation options, check out the installation guide⁠.

⁠Getting Started

MUQ is composed of several different modules, which work together to define and solve UQ problems. Documentation for each of these modules is included with our doxygen-generated API documentation⁠. Most applications will require using the modeling module⁠ to define statistical models or interact with user-defined models. Learning the basics of this module is therefore a good place to start.

⁠Interested in forward UQ?
⁠Want to tackle Bayesian inverse problems?
  • Just like for forward UQ, you'll want to get familiar with the modeling module⁠ module to define a forward model. The WorkGraph class⁠ within the modeling module is also used to combine multiple components (e.g., the prior, forward model, and likelihood function) comprising the Bayesian posterior distribution.
  • Look at methods in the sampling algorithms⁠ module to generate samples of your Bayesian posterior.
  • Other examples can be found by filtering the "MCMC" examples on the MUQ webpage⁠.

You can also find many examples⁠ using both the c++ and Python interfaces to MUQ. These examples can provide useful starting places for using MUQ on your own problems.

⁠Getting Connected

Join the MUQ Slack channel via our website⁠ to get in touch with MUQ developers and other users. We are always happy to help!

⁠Citing

When publishing work based on MUQ, please cite our publication in the Journal of Open Source Software.

@article{Parno2021,
  doi = {10.21105/joss.03076},
  url = {https://doi.org/10.21105/joss.03076},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {68},
  pages = {3076},
  author = {Matthew Parno and Andrew Davis and Linus Seelinger},
  title = {MUQ: The MIT Uncertainty Quantification Library},
  journal = {Journal of Open Source Software}
}

⁠Contributing

⁠Want to help develop MUQ?

Yes, please! We frequently discuss future developments on Slack (join via our website⁠), so feel free to drop by! Then fork the muq2 repository⁠ and submit a pull request when ready. Also check out our style guide⁠.

⁠Find a bug?

Submit the issue on bitbucket⁠. Make sure to label the issue as a bug.

⁠Want a new feature?

Submit a request on bitbucket⁠. Label the issue as an enhancement or proposal.

⁠Developer Information
  • \subpage infrastructure
  • \subpage muqstyle

Tag summary

Content type

Image

Digest

sha256:3a870e331…

Size

553.7 MB

Last updated

almost 4 years ago

docker pull mparno/muq