MIT Uncertainty Quantification (MUQ) Library
MUQ (MIT Uncertainty Quantification) is a C++/Python library for uncertainty quantification—in particular, for connecting complex models with UQ tools in a way that exposes model structure to the algorithms. MUQ is designed both for use by application scientists and engineers and as a platform for algorithm developers. It currently includes a wide variety of UQ capabilities: advanced Markov chain Monte Carlo algorithms for inference; approximation methods for computationally intensive likelihoods and forward models; adaptive methods (e.g., sparse polynomial approximations) for uncertainty propagation, global sensitivity analysis, and surrogate construction; and many others. MUQ optimizes UQ workflows through the use of directed acyclic graphs for dependency management. The underlying dependency graph enables structure-exploiting algorithms to cache and share information in a relatively transparent fashion. MUQ also operates seamlessly with packages such as FEniCS, libMesh, SUNDIALS, and NLopt.
TransportMaps is a Python (2.7/3.x) package for the construction of deterministic multi-dimensional couplings, induced by transport maps, between distributions. These couplings can be used for robust, fast, and accurate integration with respect to the complex distributions arising in Bayesian statistical models. They can also be used for density estimation and for sequential inference in state space models (e.g., data assimilation). The transport map method allows for an effective control over the accuracy of the inference, the parallel generation of Monte Carlo samples and quadrature rules, and the design of algorithms that make use of low-dimensional structure.
GPEXP: Experimental Design for Gaussian Process Regression in Python
GPEXP is a software package, written in python2.7, for performing experimental design in the context of GP regression. Experimental design may be performed for a variety of cost function specifications. Currently supported cost functions include those based on integrated variance, conditional entropy, and mutual information. GPEXP may also be used for general purpose GP regression. Currently supported kernels include the isotropic and anisotropic squared exponential kernel, the isotropic Matern kernel, and the Mehler kernel. Additional kernels may be easily specified. GPEXP also includes optimization routines for estimating kernel hyperparameters from data.
NOWPAC (Nonlinear Optimization With Path-Augmented Constraints)
NOWPAC is a software package for derivative-free nonlinear constrained local optimization. The code is based on a trust region framework using surrogates of minimum Frobenius norm type for the objective function and the constraints. The code does not require gradient information and is designed to work with only black-box evaluations of the objective function and the constraints. In addition to the optimization procedure, NOWPAC provides a noise detection tool which identifies inaccurate black-box evaluations that might corrupt the optimal result or prevent the optimization procedure from making further progress.