UM-Bridge documentation¶
UM-Bridge is a universal interface that makes any numerical model accessible from any programming language or higher-level software, with a main focus on uncertainty quantification (UQ). It accelerates development from method research to applications and from prototype to supercomputer, enabling you to:
seamlessly link numerical models to UQ across languages and frameworks,
break down complexity of advanced applications into manageable components,
share your containerized models with collaborators,
benchmark your algorithms on a community-driven benchmark library, and
scale your applications from laptop to supercomputer or cloud with minimal effort.
UM-Bridge only assumes that a model returns an output vector for a given input, and possibly offers derivatives and configuration options. That makes UM-Bridge suitable for fields like UQ, optimization or machine learning.
Try out this Python example! It passes an input to a simple 1D test model running on a remote server and prints the model’s output.
import umbridge
model = umbridge.HTTPModel("http://testmodel.linusseelinger.de", "forward")
print(model([[100.0]]))
Interested? Continue with quickstart or tutorial for a guided tour. See clients for how to interact with a model from any supported language or UQ package, and models for how to add UM-Bridge support to your own model code.
In addition, UM-Bridge comes with a community-driven library of UQ benchmark problems, which you find listed on the left.
We’d like to hear about your application, so join our slack channel!
Supported languages and frameworks¶
Language |
Client (UQ) |
Server (model) |
---|---|---|
C++ |
✓ |
✓ |
MATLAB |
✓ |
✗ |
Python |
✓ |
✓ |
R |
✓ |
✗ |
Julia |
✓ |
✗ |
Framework |
Client (UQ) |
Server (model) |
---|---|---|
CUQIpy |
✓ |
✓ |
emcee |
✓ |
✗ |
MUQ |
✓ |
✓ |
PyApprox |
✓ |
✗ |
PyMC |
✓ |
✗ |
QMCPy |
✓ |
✗ |
Sparse Grids MATLAB Kit |
✓ |
✗ |
tinyDA |
✓ |
✗ |
TT Toolbox |
✓ |
✗ |
UQPy |
✓ |
✗ |
We are happy to actively support the development of new integrations!
Opinions¶
Citation¶
Please cite: Seelinger et al., (2023). UM-Bridge: Uncertainty quantification and modeling bridge. Journal of Open Source Software, 8(83), 4748, url.
@article{UMBridge, doi = {10.21105/joss.04748}, url = {https://doi.org/10.21105/joss.04748}, year = {2023}, publisher = {The Open Journal}, volume = {8}, number = {83}, pages = {4748}, author = {Linus Seelinger and Vivian Cheng-Seelinger and Andrew Davis and Matthew Parno and Anne Reinarz}, title = {UM-Bridge: Uncertainty quantification and modeling bridge}, journal = {Journal of Open Source Software} }
Resources¶
This repository hosts stand-alone reference problems for benchmarking of UQ algorithms.
The documentation for the project and for the benchmark problems within is at: Documentation.
The project source code is hosted on GitHub.
Getting started¶
Propagation Benchmarks¶
Inference Benchmarks¶
- Analytic Gaussian Mixture
- Agent based disease transmission benchmark
- L2-Sea hull optimization
- Analytic Funnel
- Deconvolution1D
- Heat1D: 1D heat Bayesian inverse problem using CUQIpy
- Inferring coefficient field in two-dimensional Poisson PDE
- Analytic Donut
- The cookies problem forward UQ benchmark
- Tsunami source inference
- Tritium Diffusion Posterior
- Inferring material properties of a cantilevered beam
- Boundary condition inversion in a three-dimensional 𝑝-Poisson nonlinear PDE
- Computed Tomography using CUQIpy
- Analytic Banana