UQLab Release notes
UQLab 2.1.0 - April 16, 2024
UQLab V2.0.0 => UQLab V2.1.0
Stable release of UQLab
New features
-
Stochastic simulators:
-
UQLab now supports stochastic simulators, i.e. computational models that return non-deterministic random responses.
(Developed by Dr. X. Zhu and documented by Dr. N. Lüthen from ETH Zürich)
-
-
Generalized lambda models:
-
A new module that implements generalized lambda models (GLaM), a family of stochastic emulators that can surrogate stochastic simulators.
(Developed by Dr. X. Zhu and documented by Dr. N. Lüthen from ETH Zürich)
-
-
Stochastic polynomial chaos expansions:
-
Stochastic polynomial chaos expansions are a family of stochastic emulators that can surrogate stochastic simulators with multi-modal response distributions.
(Developed by Dr. X. Zhu and documented by Dr. N. Lüthen from ETH Zürich)
-
-
Reliability analysis:
-
A new class of reliability analysis methods relying on line sampling has been added to the Reliability analysis module
(Developed and documented by L. Fritsch from the University of Hannover)
-
Enhancements
-
Kriging/Gaussian process modelling:
-
Trajectory resampling is now available for Kriging
(developed and documented by Dr. Moustapha from ETH Zürich)
-
-
Random fields module
-
Updated handling of conditional random fields at the covariance level
-
Added support for Kriging-specific resampling tools
-
Sampling mesh can now also be specified at sampling time (enabling dynamic meshing)
-
-
Statistical inference
-
NaNs in the inference data, or after marginal processing now cause errors
-
-
Bayesian inversion module
-
Gelman-Rubin statistics is now automatically calculated
-
-
RBDO
-
Total number of model evaluations for the construction of the surrogates are now reported in the results
-
Fixed SLA method not working with multiple constraints
-
-
General - Graphics
-
Graphics performance significantly improved in several different scenarios, addressing an issue in Matlab plotting stack when extensive formatting is requested.
-
Multiple display functions that still didn't, now return handles to the figures generated
-
The uq_display function only shows 10^4 points in the prior and posterior scatter density plots
-
-
Documentation:
-
SSER has been added to the Reliability manual
-
SLE/SSLE have been added to the Inversion manual
-
Changes
-
MATLAB R2019a is now a minimum requirement for UQLab (it will run on older MATLAB, but support will be limited)
-
Active learning reliability:
-
Improved documentation on initial design for ALR
-
Changed default optimization bounds for Kriging and PC-Kriging to ensure better stability in the earlier iterations
Warning: this may affect the performance of existing analyses relying on default values
-
-
Bayesian inversion module
-
Bad chains after post-processing are displayed as a double array, even if a user defines them as a Boolean array
-
Bug fixes
-
Kriging/Gaussian process modelling:
-
Several fixes to the calculation of variance in Kriging regression
-
Fixed typos in the user manual on regression
-
-
Input:
-
Error messages/handling improved:
-
Triangular distribution now throws an error if the peak is specified outside the input domain
-
Fixed inconsistency in capitalization of lognormal distributions
-
Bounds are accepted if constant variables are used
-
-
Sensitivity analysis:
-
Sobol' indices bootstrap-based confidence bounds are now correctly displayed at all orders and interactions
-
-
Bayesian inversion module:
-
Several fixes in the display function, depending on the postprocessing available in the object displayed
-
-
Reliability analysis:
-
Fixed sign of beta in FORM for large failure probabilities
-
Fixed display issues with 1D subset simulation analysis
-
-
RBDO
-
Fixed copulas not always being correctly taken into consideration
-
-
PCE
-
Display legend now correctly refer to the degrees of PCE coefficients with sparse expansions
-
-
Numerous additional minor bugfixes/performance improvements across all the modules
UQLab 2.0.0 - February 1, 2022
UQLabModules V1.4.0 => UQLab V2.0.0
Stable release of UQLab
From UQLabCore & UQLabModules to UQLab
UQLab is now fully open source! It is released under the BSD 3-clause license, which means that it can be easily incorporated into almost any workflow/product, as long as credit/attribution is provided to the original developers.
This has several important consequences:
-
No license is needed anymore to run UQLab
-
UQLab can now run completely offline
-
The UQLab website now has a members' area, where registered users can easily access their info and download UQLab releases
-
Automatic updates have been removed for security reasons
New features
-
Random fields module:
-
A new module to define, discretize and sample from a random field is now available
(Developed and documented by Dr. M. Moustapha from ETH Zurich, based on the work of Dr. N. Fajraoui) -
Gaussian, non-Gaussian translation and conditional random fields can be discretized using EOLE or Karhunen-Loève expansion
-
-
Stochastic spectral embedding:
-
Stochastic spectral embedding (SSE) has been added to the metamodelling tool
(Developed and documented by Dr. P.-R. Wagner from ETH Zürich)
-
-
Bayesian inversion module:
-
Added two new sampling-free solvers: spectral likelihood expansion (SLE) and stochastic spectral likelihood embedding (SSLE)
(Developed and documented by Dr. P.-R. Wagner from ETH Zürich)
-
-
Reliability analysis module:
-
Added the stochastic spectral embedding-based reliability (SSER) method
(Developed and documented by Dr. P.-R. Wagner from ETH Zürich)
-
Enhancements
-
Display handles:
-
Many modules can now return figure handles to the created figures when calling the uq_display function
-
-
Bayesian inversion module:
-
Inversion module:
-
The post-processing function uq_postProcessInversion was renamed to uq_postProcessInversionMCMC. It is called automatically by uq_postProcessInversion for MCMC-based inversion analyses
-
The uq_print function now only prints the correlation/covariance matrices for a maximum of the 6 most important parameters
-
The uq_display function only shows 10^4 points in the prior and posterior scatter density plots
-
-
Documentation:
-
SSER has been added to the Reliability manual
-
SLE/SSLE have been added to the Inversion manual
-
Changes
-
MATLAB R2017a is now a minimum requirement for UQLab (it will run on older MATLAB, but support will be limited)
Bug fixes
-
Fixed a problem related to building an augmented space for RBDO with bounded distributions
-
The adaptive metropolis algorithm had not been implemented according to the original publication in Haario et al. (2001). This was fixed in this release.
-
Input:
-
Fixed the incompatibility between the "Support" and "Bounds" options for kernel smoothing
-
Fixed crash with the calculation of KS statistics
-
Disregarded sampling constant variables in the uniform space for LHS
-
-
Sensitivity
-
Fixed the inconsistency in the default sampling methods for evaluating the input-output correlation
-
Corrected the trajectory-based method according to the original publication in Morris (1991)
-
Fixed the choice of the default stepsize in the perturbation method
-
UQLab Modules 1.4.0 - February 1, 2021
UQLabModules V1.3.0 => UQLabModules V1.4.0
Stable release of UQLabModules
New features
-
Reliability analysis module:
-
Introduced a new framework for active learning reliability
(Developed and documented by Dr. M. Moustapha from ETH Zurich) -
Introduced asynchronous learning, a feature that allows users to interrupt an active learning analysis, run the computational model outside of UQLab, and then resume the analysis with a new evaluation
-
-
High-performance computing (HPC) dispatcher module:
-
A new module to dispatch UQLab computations from local computing resources (e.g., laptops, desktops) to distributed computing resources
(Developed and documented by Dr. D. Wicaksono from ETH Zurich)
-
-
PCE module:
-
Introduced two new sparse solvers: Subspace pursuit (SP) and Bayesian compressive sensing (BCS)
(Developed and documented by N. Lüthen from ETH Zurich)
-
-
UQLib:
-
Introduced uq_map, a new dispatcher-aware command to dispatch generic functions evaluations to distributed computing resources
-
Enhancements
-
UQLink module:
-
Unique IDs based on a timestamp for different runs of the same UQLink model is now supported
-
-
Bayesian inversion module:
-
Simultaneous estimation of multiple point estimators (mean, map and custom) is now allowed
-
-
Documentation:
-
Major restructuring of the PCE module user manual, new sections on SP and BCS solvers,
and a new instruction on how to add a custom sparse regression method -
A new section on data groups in the Bayesian inversion user manual
-
Changes
-
MATLAB R2015b is now a minimum requirement for UQLab
-
PCE: The OMP solver always adds the constant regressor first
-
UQLink: Auxiliary files are now saved in a different folder for each run
-
Bayesian inversion: Predictive distributions are now computed on data groups not forward models
Bug fixes
-
Fixed problem in q-norm adaptivity for PCE and the displayed best q-norm
-
Fixed problem related to multiple soft constraints in the RBDO module
-
Fixed problem when a single forward model was explicitly supplied in the Bayesian inversion module
UQLab Modules 1.3.0 - September 19, 2019
UQLabModules V1.2.1 => UQLabModules V1.3.0
Stable release of UQLabModules
New features
-
Input module:
-
New types of copulas: CVine and DVine
-
Support for independent sets of random variables (independent blocks) inputs
-
Statistical inference for both marginals and copulas
(Developed and documented by Dr. E. Torre from ETH Zurich)
-
-
Reliability-based design optimization (RBDO) module:
-
A new module to conduct reliability-based design optimization is now available
(Developed and documented by Dr. M. Moustapha from ETH Zurich)
-
-
Kriging module:
-
Gaussian process (GP) regression for noisy observations is now available
(Developed and documented by Dr. D. Wicaksono from ETH Zurich)
-
-
Sensitivity analysis module:
-
New sample-based estimator for the Kucherenko indices (compatible with non-Gaussian copulas)
-
Borgonovo indices can now be computed from pre-existing samples
-
-
UQLib:
-
A collection of standard UQLab plotting and plot formatting functions is now consolidated in uq_graphics inside the lib folder
(Developed and documented by P. Wiederkehr, P.-R. Wagner, and Dr. D. Wicaksono from ETH Zurich)
-
Enhancements
-
Bayesian inversion module:
-
A sample generated by any MCMC sampler is automatically post-processed using the uq_postProcessInversion function at the end of an inverse analysis
-
Posterior covariance and correlation matrices are now estimated from the MCMC sample by the uq_postProcessInversion function
-
-
UQLink module:
-
Mathematical expressions with input variables can now be entered in the template file
-
-
Documentation:
-
Kriging module:
-
Add elaboration on the cross-validation estimation
-
-
-
Sensitivity module:
-
Chunk-allocation now used for models with high-dimensional inputs to avoid out-of-memory issues
-
Changes
-
Added warnings when using sensitivity analysis methods that don't support dependence for inputs with dependent inputs
Bug fixes
-
Fixed LRA-based Sobol' indices not working for multiple-output models
-
Fixed optimization bound issues when using Kriging in certain situations
-
Fixed inconsistent images used in the documentation w.r.t. the actual examples
-
Bugfixes and improvements across the board
UQLab Modules 1.2.1 - March 7, 2019
UQLabModules V1.2.0 => UQLabModules V1.2.1
Stable release of UQLabModules
Bug fixes
-
Addressed a number of compatibility issues with versions of Matlab older than R2016a
UQLab Modules 1.2.0 - February 22, 2019
UQLabModules V1.1.0 => UQLabModules V1.2.0
Stable release of UQLabModules
New features
-
Bayesian inversion module:
-
A new module for solving Bayesian inverse problems is now available
(developed and documented by P.-R. Wagner from ETH Zurich)
-
-
Sensitivity analysis module:
-
Kucherenko and ANCOVA indices for global sensitivity analysis with dependent inputs are now available (developed and documented by P. Wiederkehr from ETH Zurich)
-
-
Polynomial chaos expansion module:
-
Added adaptive q-norm truncation for the regression-based PCE
-
Improved the leave-one-out calculation for the LARS regression method
-
-
UQLib:
-
A collection of general-purpose open-source libraries (including differentiation, optimization, kernel, and input/output processing) is now available and accessible in the lib folder
(developed and documented by Dr. M. Moustapha, C. Lataniotis, P. Wiederkehr,
and Dr. D. Wicaksono from ETH Zurich)
-
Enhancements
-
Kriging, SVR, and SVC modules:
-
Evaluation of the kernel is now based on the general-purpose kernel evaluation function provided by UQLib (uq_eval_Kernel)
-
-
Documentation:
-
Sensitivity analysis module:
-
Added statements on each method whether the method is applicable for dependent input variables
-
-
-
General:
-
The uq_gradient function is now vectorized and part of UQLib differentiation library
-
Removed dependence from Optimization and Global Optimization toolboxes by defaulting to optimization algorithms available in UQLib
-
Changes
-
Documentation:
-
Sensitivity analysis module:
-
One theory section for all Sobol' indices
-
New section on the usage chapter to showcase the sensitivity analysis methods that support dependent inputs (Kucherenko and ANCOVA indices)
-
-
-
Kriging
-
Updated default optimization parameters to provide more accurate results
-
Bug fixes
-
UQLink:
-
UQLink can now handle cases where a command line is given using the full path to the executable that contains white spaces
-
UQLab Modules 1.1.0 - July 5, 2018
UQLabModules V1.0.0 => UQLabModules V1.1.0
Stable release of UQLabModules
New features
-
Metamodeling tool:
-
Support vector machines for classification (SVC) and regression (SVR) are now available
(developed and documented by Dr. M. Moustapha from ETH Zurich)
-
-
UQLink:
-
Seamless connection of third-party software to UQLab is now available by using a universal wrapping of external codes through templates and a mark-up system
(developed and documented by Dr. M. Moustapha from ETH Zurich)
-
-
Sensitivity analysis module:
-
Borgonovo moment-independent indices are now available
(developed and documented by C. Mylonas from ETH Zurich)
-
-
General:
-
new 'subsampling', 'one-hot-encoding', and 'cobweb plot' functions are now available in the lib folder.
-
Enhancements
-
General:
-
Standardized the examples for improved readability
-
-
Documentation:
-
Added the outputs of uq_print to all manuals
-
Added comments on the default values used in the minimal working examples
-
General readability and consistency improvements
-
-
Reliability analysis module:
-
AKMCS:
-
Added convergence criterion on beta
-
-
IS:
-
One instrumental density function can now be specified for each model output
-
-
Borgono moment-independent indices are now available
(developed and documented by C. Mylonas from ETH Zurich)
-
-
Sensitivity analysis module:
-
Removed the requirement for an input object for SRC/Correlation-based sensitivity analyses when a sample is provided
-
Changes
-
General:
-
Changes in uq_display for many modules to improve readability
-
-
Polynomial chaos expansions (PCE):
- Default degree for quadrature is set equal to 3, for degree-adaptive methods to 1:3
-
Fixed issue that broke the evaluation of a quadrature PCE for multiple outputs model
-
Initialization is set
-
Fixed stability issues for arbitrary polynomials (fixed for integration waypoints)
-
Kriging:
- Specification of ExpDesign.Sampling = 'user' or 'data' is no longer necessary,
if the sample is provided manually -
Removed ExpDesign.time from Results
-
Moved ExpDesign.muX and ExpDesign.sigmaX from Results to Internal
- Specification of ExpDesign.Sampling = 'user' or 'data' is no longer necessary,
Bug fixes
-
Reliability analysis module:
-
SORM
-
Can now be run on a pre-existing FORM analysis
-
-
IS
-
Removed warning in initialization if no instrumental density function is provided
-
-
-
Sensitivity analysis module:
-
Fixed small stability issues related to sensitivity- and PCE-related calculations
-
Fixed the assembling of PCE-based Sobol' indices to avoid problems when using constant variables
-
Fixed LRA-based Sobol' indices to prevent failing for models with multiple outputs
- Sobol' indices can now be plotted as a pie diagram
-
UQLab Modules 1.0.0 - April 28, 2017
UQLabBeta V0.92 => UQLabModules V1.1.0 stable
Stable release of UQLabModules
New features
-
Metamodeling tools:
-
Canonical low-rank approximations is now available (developed and documented by Dr. K. Konakli and C. Mylonas from ETH Zurich)
-
Polynomial Chaos-Kriging is now available (developed and documented by Dr. R. Schöbi
from ETH Zurich)
-
-
Open source release of the scientific modules with extensive command-line help (UQLab Dev Team)
Enhancements
-
General:
-
'Constant' variables are now supported throughout UQLab modules.
Most algorithms are now aware of constant variables and will exclude them to improve computational efficiency (UQLab Dev Team)
-
-
Input module:
-
Added several new input marginals o the existing ones (E. Dodoula and C. Lataniotis)
-
-
Polynomial chaos expansions module:
-
Added Orthogonal Matching Pursuit (OMP) to the regression methods (M. Berchier)
-
Polynomials orthogonal to arbitrary distributions are now available (C. Mylonas)
-
-
Reliability analysis module:
-
Polynomial Chaos-Kriging can now be used as a metamodel in AK-MCS
-
-
Documentation:
-
Now available in PDF and HTML formats in the Doc/Manuals folder, accesible via the uq_doc function
-
Changes
-
Kriging module:
-
Changed default correlation famility to 'matern-5_2'
-
Covariance matrix of the predictor is now available as the third output of the uq_evalModel function
-
-
Polynomial chaos expansions (PCE):
- Changed default quadrature scheme to 'Full' when input dimension < 4
(results in cheaper computation)
- Changed default quadrature scheme to 'Full' when input dimension < 4
- Input module:
- Changed handling of custom distributions
Bug fixes
-
General bug fixes and performance improvement across modules with respect to v0.92