Welcome to MUQ (pronounced “muck”), a modular software framework for defining and solving forward and inverse uncertainty quantification problems.
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:
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.
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.
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.
Join the MUQ Slack channel via our website to get in touch with MUQ developers and other users. We are always happy to help!
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}
}
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.
Submit the issue. Make sure to label the issue as a bug.
Submit a request. Label the issue as an enhancement or proposal.