List of uncertainty propagation software
List of uncertainty propagation software used to perform propagation of uncertainty calculations:
Software
- abacus Desktop calculator (Windows), handles multiple expressions.
- app::errorcalculator Library and script to process tabular values.
- ASUE Potent web interface powered by webMathematica to evaluate uncertainty symbolically using GUM. Webpage also allows symbolic uncertainty evaluation via ASUE framework (with reference), which is an extension to GUM framework.
- Chaospy is an open source numerical Python library for doing UQ using advanced method of Monte Carlo and polynomial approximation, with an emphasis on composability and polynomial chaos expansion. Easy to integrate into existing Python code with libraries that can be directly imported into the user's environment. Packages can be downloaded from the Python Package Index (via pip) or through Conda. Developer version available via GitHub. Can also interface with any third-party software model.
- Colby College uncertainty calculator Web browser-based. Formula input, then asks for values of variables.
- Dakota is a comprehensive suite of tools for sampling-based optimization and UQ developed by Sandia National Laboratories.
- Dempster Shafer with Intervals (DSI) Toolbox is a MATLAB toolbox for verified computing under Dempster–Shafer theory. It provides aggregation rules, fast (non) monotonic function propagation, plots of basic probability assignments, verified fault tree analysis (FTA), and much more.
- EasyGraph is a graphing package that supports error propagation directly into the error bars.
- EasyVVUQ is a Python3 library intended to facilitate verification, validation and uncertainty quantification (VVUQ) for a wide variety of simulations. Supports various sensitivity analysis and uncertainty quantification methods as well as different execution methods for simulations (traditional clusters and cloud computing).
- epc error propagating calculator (epc) is an open source script-based tool that calculates the propagation of errors in variables. To quote the text on the Epc web page "This is done by repeated calculation of the expression using variable-values which are generated using a random number generator whose mean and standard-deviation match the values specified for the variable". Perl Script.
- Error Propagation Calculator Free cross-platform calculator (macOS, Windows, Linux) written in Python. Essentially a GUI interface for the Python Uncertainties library. Easy to use and install. Handles up to 26 variable and error pairs per computation. Evaluates native python expressions. No prior knowledge of python language is required for use. Windows installer includes python dependencies.
- ErrorCalc is a scientific calculator app for iPhone or iPad that performs error propagation (Supports Algebraic and RPN modes of entry)
- FuncDesigner Library and stand-alone (via the Python shell). Involves automatic differentiation, possibly large-scale sparse.
- Scripting language called 'fussy', similar to C.
- GUMsim is a Monte Carlo simulator and uncertainty estimator for Windows. Standalone; detailed consequences of a model equation.
- GUM Tree is a design pattern for propagating measurement uncertainty. An implementation exists in R and add-ons for Excel (real and complex numbers).
- GUM Tree Calculator is a programmable Windows command-line tool with full support for uncertainty calculations involving real and complex quantities.
- GUM Workbench uses a graphical user interface to implement a systematic way to analyze an uncertainty problem for single and multiple results. GUM + Monte Carlo. Free restricted educational version available.
- gum_mc: GUM framework and Monte Carlo method. Standalone.
- The Gustavus Adolphus propagator is an open source calculator that supports error propagation developed by Thomas Huber.
- gvar is a Python library for first order uncertainty propagation with correlations. Features transparent handling of arrays, dictionaries and dictionaries of arrays; numerical computation with uncertainty propagation of splines, matrix operations, differential equations, integrals, power series and equations. Not trivial to install on Windows, a compiled binary is provided here.
- The laffers.net propagator is a web-based tool for propagating errors in data. The tool uses the standard methods for propagation.
- LNE-MCM is a free software for Windows dedicated to the evaluation of measurement uncertainty using Monte Carlo simulations according to Supplement 1 to the GUM. Moreover, additional features are implemented like the case of multivariate models, sensitivity analysis to provide an uncertainty budget and a goodness-of-fit test for the samples of the output quantities. MATLAB Runtime required.
- Mathos Core Library Uncertainty package Open source (.NET targeting library).
- MC-Ed is a native Windows software to perform uncertainty calculations according to the Supplement 1 to the Guide to the expression of uncertainty in measurement using Monte-Carlo method.
- MCM Alchimia is a standalone sequential & multilingual software for uncertainty estimation. Windows desktop GUM + Monte Carlo. Supports least squares regression and interpolation models.
- Measurements.jl is a free and open-source error propagation calculator and library. It supports real and complex numbers with uncertainty, arbitrary-precision arithmetic calculations, functional correlation between variables, mathematical and linear algebra operations with matrices and arrays, and numerical integration using Gauss–Kronrod quadrature.
- MonteCarloMeasurements.jl is a free and open-source, nonlinear error propagation calculator and library that supports arbitrary multivariate distributions, differentiation, linear algebra and arbitrary-precision arithmetic. Propagates uncertainties by means of Monte-Carlo samples.
- METAS UncLib is a C# software library and command-line calculator. A MATLAB wrapper and a Python wrapper exist. It supports: multivariate uncertainties, complex values, correlations, vector, and matrix algebra.
- metRology package for R metRology is an R package to support metrological applications. Among other functions for metrology, it includes support for measurement uncertainty evaluation using algebraic and numerical differentiation and Monte Carlo methods.[1] Includes first-order algebraic and numerical differentiation, including finite-difference with specified step size and Kragten's method,[2] as well as Monte Carlo simulation. Evaluation can be applied to R expressions, formulae and functions.
- MetroloPy, Python tools for dealing with physical quantities: uncertainty propagation and unit conversion. First order and Monte-Carlo propagation of uncertainty; handles relative, absolute, and expanded uncertainties of quantities with units.
- MUSE Measurement Uncertainty Simulation and Evaluation using the Monte Carlo method. Interprets an XML model description file.
- MUQ is an MIT developed collection of UQ tools for Markov Chain Monte Carlo sampling, Polynomial Chaos construction, transport maps, and many other operations. It has both C++ and Python interfaces.
- OpenCOSSAN is a MATLAB toolbox for uncertainty propagation, reliability analysis, model updating, sensitivity and robust design optimization. Allows interacting with 3rd party solvers. Interfaces with HPC through GridEngine and OpenLava.
- NIST Uncertainty Machine is an uncertainty calculator that uses Gauss' formula and Monte Carlo methods. Users access it through a web browser, but it runs in the R programming language on the server.[3] Complete documentation.
- OpenTURNS is a C++ and Python framework for probabilistic modelling and uncertainty management developed by the OpenTURNS consortium (Airbus, EDF R&D, IMACS, Phimeca, ONERA). It contains state of the art algorithms for univariate, multivariate and infinite dimensional probabilistic modelling (arithmetic of independent random variables, copulas, Bayesian models, stochastic processes and random fields), Monte Carlo simulation, surrogate modelling (Kriging, functional chaos decomposition, low rank tensor approximation, Karhunen-Loeve decomposition, mixture of experts), rare event estimation (variance reduction, FORM/SORM reliability methods), robust optimization, global sensitivity analysis (ANCOVA, Sobol' indices). It can interact with third-party software through a generic Python interface, which also allows to connect HPC facilities. It provides calibration (including bayesian) methods and a full set of interface to optimization solvers.
- propagate: an R package that conducts error propagation by first- and second-order Taylor approximation (GUM 2008) and Monte-Carlo simulation (GUM 2008 S1), using full covariance structure.
- PSUADE is a comprehensive suite of tools for sampling-based UQ (dimension reduction, response surface analysis, uncertainty propagation, sensitivity analysis, numerical optimization, statistical inference, optimization under uncertainty) developed at Lawrence Livermore National Laboratory.
- QMSys GUM is a potent commercial tool for measurement uncertainty analysis including Monte Carlo simulation for Windows (free restricted educational version available).
- Risk Calc supports probability bounds analysis, standard fuzzy arithmetic, and classical interval analysis for conducting distribution-free or nonparametric risk analyses. Also handles uncertainty about correlations.
- SmartUQ is a commercial uncertainty quantification and analytics software package. Capabilities include DOE generation, emulator construction, uncertainty propagation, sensitivity analysis, statistical calibration, and inverse analysis.
- SOERP implements second-order error propagation as a free Python library. Calculations are carried out naturally in calculator format and correlations are maintained. Automatically calculates all the first and second derivatives of an expression using the free Python package ad.
- SCaViS is a free data-analysis program written in Java and supports Python and Groovy. Conducts error propagation by first- and second-order Taylor approximation and using a Monte Carlo approach for complex functions.
- SCRAM is free fault tree and event tree analysis software that employs Monte Carlo simulation for uncertainty analysis in probability expressions.
- S&T Missouri Uncertainty Calculator: web browser-based. Desk calculator style.
- twinLab is a commercial probabilistic machine learning platform developed by digiLab. Capabilities include building, testing and deploying machine learning models or surrogates with uncertainty quantification estimates. Current version focuses on (deep) Gaussian Processes, Neural Networks and Random Forests. Software provides automatic model selection.
- The Uncertainty Calculator is a JavaScript browser-based calculator that performs error propagation calculations.
- Uncertainty Calculator runs JavaScript in the browser. Simple version: uses Crank Three Times to provide numerical answers. Fancy version: uses Monte Carlo to provide additional information including graphs of probability density and cumulative probability. Warns users of potential issues that other methods don't warn about. Handles correlations that arise during multi-step calculations. Numerous interactive pushbutton demos.
- uncertainty calculator, Wilfrid Laurier University: web browser-based. Desk calculator style.
- Uncertainties is a potent free calculator and Python software library for transparently performing calculations with uncertainties and correlations. Also handles matrices with uncertainties. Automatically calculates all the derivatives of an expression.
- UncertRadio: Software for calculation of characteristic limits according to ISO 11929 (covering parts 1-3) for radioactivity measurements; besides the characteristic limits (decision threshold, detection limit and limits of the coverage interval) the software provides the Monte Carlo method for uncertainty determination. UncertRadio evaluations can be processed from within an Excel application.
- Mathos Laboratory Uncertainty Calculator This is a web interface for uncertainty calculations.
- UQLab is a software framework for uncertainty quantification developed at ETH Zurich. It is a general-purpose software running in MATLAB which contains state-of-the-art methods for Monte Carlo simulation, dependence modelling (copula theory), surrogate modelling (polynomial chaos expansions, Kriging (a.k.a. Gaussian process modelling), low-rank tensor approximations, global sensitivity analysis (ANOVA, Sobol’ indices, distribution-based indices), rare event simulation (a.k.a. reliability methods).[4]
- UQpy is an open-source Python toolbox and development environment for uncertainty quantification developed by the Shields Uncertainty Research Group (SURG) at Johns Hopkins University. It consists of a set of modules for various capabilities in forward and inverse UQ ranging from sampling methods for uncertainty propagation to reliability analysis, surrogate model construction, and Bayesian inference. Of particular note is that it is designed to interface with any Python model or third-party software model through the RunModel module. Packages can be downloaded from the Python Package Index (via pip) or through Conda. Developer version available via GitHub.
- UncertaintyWrapper is a free and open source software Python package that propagates uncertainty using 1st order linear combinations. Covariance is also propagated. It approximates sensitivity with finite central differences. UncertaintyWrapper wraps any Python code even C extensions. It is vetted against Uncertainties, ALGOPY, Numdifftools and SymPy.
- UQTk is a set of tools for forward and inverse uncertainty quantification on computational models. The functionality can be accessed through C++, command line apps, or Python. The uncertainty quantification approaches in UQTk rely extensively on Polynomial Chaos methods for representing random variables.
Comparison
Name | License | Programming language | Handles correlations? | Cross-platform? | Calculator? | Complex numbers calculation? | VISA data acquisition possible ? | Library? |
---|---|---|---|---|---|---|---|---|
Abacus | Free | C, Win32 | Yes | No | Yes | No | No | |
ASUE | Free | Mathematica | No | Yes | Yes | No | No | |
App::ErrorCalculator | GNU GPL | Perl | No | Yes | Library | |||
Chaospy | MIT | Python | Yes | Yes | Yes | No | Library | |
Colby College Uncertainty Calculator | Unknown | JavaScript | Yes | Yes | Yes | No | No | |
Dempster Shafer with Intervals (DSI) Toolbox | Free for private and academic use | MATLAB | No | Yes | Library | |||
EasyVVUQ | GNU LGPL | Python | Yes | Yes | No | No | Library | |
Experimental Data Analyst (EDA) | Proprietary | Mathematica | Yes | No | Yes | Library | ||
EPC: error-propagating calculator | GNU GPL | Perl | Yes | Yes | Yes | No | ||
ErrorCalc iPhone/iPad calculator app | Proprietary | Unknown | No | No | Yes | No | No | |
Error Propagation Calculator | Free | Python | Yes | Yes | Yes | No | No | |
FuncDesigner | BSD | Python | No | Yes | Yes | Library | ||
fussy | Free but copyrighted | C | Yes | No | Yes | Yes | No | |
GUM_MC | GNU GPL | Lazarus | Yes | Yes | Yes | No | ||
GUMsim | Proprietary | Object Pascal (Delphi) | Yes | No | Yes | No | No | |
GUM Tree Calculator (GTC) | Proprietary, freeware single-user, nontransferable | Python | Yes | No | Yes | Yes | No | No |
GUM Workbench | Proprietary | Object Pascal (Delphi) | Yes | Yes | No | No | ||
Gustavus Adolphus error propagation calculator | GNU GPL | Unknown | No | No | Yes | No | No | |
gvar | GNU GPL | Python | Yes | Yes | Yes | No | No | Library |
laffers.net error propagation calculator | Creative Commons | JavaScript | No | Yes | Yes | No | No | |
LNE-MCM | Free | MATLAB | Yes | No | Yes | No | No | |
MCM Alchimia | Free | Object Pascal (Delphi) | Yes | No | Yes | No | No | No |
Measurement Software Toolkit | Proprietary, freeware noncommercial use | R, Excel plug-in | Yes | Yes | Yes | Library | ||
Measurements.jl | MIT | Julia | Yes | Yes | Yes | Yes | Yes | Library |
MonteCarloMeasurements.jl | MIT | Julia | Yes | Yes | Yes | Yes | Yes | Library |
metRology package for R | Free, GPL | R | Yes | Yes | Yes | No | Library | |
MetroloPy | GNU GPL | Python | Yes | Yes | Yes | Yes | Library | |
MUSE | Proprietary, freeware noncommercial use | C++ | Yes | Yes | No | No | ||
METAS UncLib | Proprietary freeware, no redistribution | C#, MATLAB wrapper and Python wrapper | Yes | Yes | Yes | Yes | No but you can use NI VISA for example. | Library |
NIST Uncertainty Machine | public domain | R | Yes | Yes | Yes | Yes | No | |
UncertRadio | Free | Fortran-2008 with GTK-Fortran-GUI; Win64 | Yes | Yes | No | No | ||
Number::WithError | GNU GPL | Perl | No | No | Yes | Library | ||
Uncertainty Calculator; Wilfrid Laurier University | Unknown | JavaScript | No | Yes | Yes | No | No | |
propagate | GNU GPL | R | Yes | Yes | No | Yes | Library | |
Risk Calc | Proprietary | C++ | Yes | Yes | No | |||
SCaViS | GNU GPL | Java, Python | Yes | Yes | Yes | Yes | ||
soerp | BSD | Python | Yes | Yes | Yes | Yes | Library | |
S&T Missouri Uncertainty Calculator | Unknown | JavaScript | No | Yes | Yes | No | No | |
Uncertainty Calculator | Free for non-commercial use | JavaScript | Yes | Yes | Yes | Yes | No | |
QMSys GUM | Proprietary | Unknown | Yes | No | No | |||
MC-Ed | Free | Object Pascal (Delphi) | No | No | Yes | No | No | |
OpenCOSSAN | GNU GPL | MATLAB | Yes | Yes | No | Yes | Library | |
OpenTURNS | GNU LGPL | C++, Python | Yes | Yes | No | Yes | Library | |
SmartUQ | Proprietary | C++ | Yes | Yes | No | No | ||
uncertainties | BSD | Python | Yes | Yes | Yes | No | Yes | Library |
UQLab[4] | BSD scientific modules. Free for academic use | MATLAB | Yes | Yes | Yes | No | Library | |
UQpy | MIT | Python | Yes | Yes | Yes | Library | ||
UncertaintyWrapper | BSD | Python | Yes | Yes | Yes | Yes | Library | |
MCM Alchimia | Unknown | Yes | No |
See also
- Automatic differentiation § Software, also can be used to obtain uncertainties
References
- Ellison, Stephen L. R. (2017). "metRology: Support for Metrological Applications". CRAN (R programming language). Retrieved 2018-02-20.
- Kragten, J. (1994). "Calculating standard deviations and confidence intervals with a universally applicable spreadsheet technique". Analyst. 119 (10): 2161–2166. doi:10.1039/AN9941902161.
- Lafarge, T. and Possolo, A (2015). "The NIST Uncertainty Machine". NCSLI Measure Journal of Measurement Science. 10 (3): 20–27. doi:10.1080/19315775.2015.11721732. S2CID 63827023.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - Marelli, S. and Sudret, B., UQLab: A framework for uncertainty quantification in Matlab, Proc. 2nd Int. Conf. on Vulnerability, Risk Analysis and Management (ICVRAM2014), Liverpool, United Kingdom, 2014
- Y. C. Kuang, A. Rajan, M. P.-L. Ooi, and T. C. Ong (2014), "Standard uncertainty evaluation of multivariate polynomial," Measurement, vol. 58, pp. 483–494, Dec. 2014
- A. Rajan, M. P. Ooi, Y. C. Kuang, and S. N. Demidenko, "Analytical Standard Uncertainty Evaluation Using Mellin Transform," Access, IEEE, vol. 3, pp. 209–222, 2015.
- Auer, E., Luther, W., Rebner, G., Limbourg, P. (2010) A Verified MATLAB Toolbox for the Dempster-Shafer Theory. Proceedings of the Workshop on the Theory of Belief Functions
- Bevington, P.R. and Robinson, D.K. (2002) Data Reduction and Error Analysis for the Physical Sciences, 3rd Ed., McGraw-Hill ISBN 0-07-119926-8
- Ferson, S., Kreinovich, V., Hajagos, J., Oberkampf, W. and Ginzburg, L. (2007) "Experimental Uncertainty Estimation and Statistics for Data Having Interval Uncertainty". Sandia National Laboratories Report: SAND2007-0939.
- Patelli, E., An Open Computational Framework for Reliability Based Optimization, In proceeding of: The Eleventh International Conference on Computational Structures Technology, Dubrovnik, Croatia 4–7 September 2012
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.