top of page
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

v2.1.0
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 

v2.0.0
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

v1.4.0
v1.3.0
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

v1.2.1
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

v1.2.0
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​

v1.1.0
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

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​​
v1.0.0
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)

  • Input module:
    • Changed handling of custom distributions​

Bug fixes

  • General bug fixes and performance improvement across modules with respect to v0.92

bottom of page