Changelog
On this site, an overview about the changes between the different MORLAB versions is provided.
Contents
Version 5.0 (2019-08-23)
New core features:
- new system classes: discrete-time standard and descriptor systems
- balanced truncation, LQG balanced truncation and modal truncation for discrete-time systems
- additive decomposition and partial stabilization for discrete-time systems
- new continuous- and discrete-time Riccati equation solvers
- feature-based demos instead of single ones for each MOR function
- adaptive frequency evaluation/visualization methods
- time integration methods
- corrected balancing type scheme for second-order methods
- vectorization of MOR methods to compute several ROMs at the same time
- projection matrices are optional output arguments
Interface changes:
- changed fatorized equation solver output to Z*Z' and L*D*L' formats
- interfaces of matrix equation solvers are now consistent with System Control Toolbox solvers
- algebraic Bernoulli equation is now abbreviated cabe
- matrix sign function is generalized to accept matrix pencils
- renaming of lti2struct, sr and bfsr routines by removing the ct_ part
- replaced disk function for stable anti-stable decomposition of descriptor systems by matrix sign function
- sigma plot function takes now several systems and optional parameters
- changed info field GADTF to ADTF
- evaluation and visualization routines are now in extra folder evaluation
- changed caredl functions into factorized and completely unfactorized versions
- replaced nilpotent discrete Lyapunov solver by dual version, renamed corresponding parameter and info output
Minor changes:
- corrected handling of sparse matrices in Sylvester equation solver
- improper balancing can now be turned of by optional parameter
- additional functions for output formatting
- replaced ~ as negation in source codes by not()
- MOR methods with Riccati equations now allow dual Riccati equation solver
Bug fixes:
- proper handling of hold command in frequency plot functions
- corrected ASCII encoding in documentations
- fixed minimal realiaztion computation in HNA methods
- fixed error bound computation in HNA methods
- corrected tolerance checks in descriptor PRBT method
Version 4.0 (2018-12-06)
New core features:
- new system class: second-order state-space systems
- balanced truncation for second-order systems
- frequency-limited balanced truncation for all supported system classes
- time-limited balanced truncation for all supported system classes
- HTML documentation is provided for all export formats of the toolbox
Interface changes:
- new naming scheme (mor functions and subroutines) for easier adding new types of systems
- nilpotent Lyapunov equation solver has been rewritten for the dual equation type
- unification of all factored matrix equation solvers to the Z'*Z or L'*D*L formulations
- the LQGBT and HINFBT routines use now the dual sign function Riccati equation solver as default
- the info structure is restricted to actually happened steps in the algorithm
Minor changes:
- generalization of the Sylvester equation solver
- new solver for indefinite factored Riccati equations
- new dual sign function solver for Riccati equations
- new LDL^T sign function solvers for Lyapunov equations
- updated/corrected and downsized documentation in all routines
- now providing stabilized subspace extraction method for descriptor systems
- all systems allow use of sparse matrices by the user
- storing more information about nested equation solvers my using cell arrays
- new subroutines for row/column compressions of Z'*Z and L'*D*L factorized matrices
- new contribution guide
- updated references for all routines
- help morlab or help morlab-[version] shows list of functions
Bug fixes:
- added missing default values for info structure in ml_mt
- corrected wrong named parameters in ml_hna_dss, ml_brbt_dss, ml_prbt_dss
- corrected error bound computation in ml_lqgbt, ml_lqgbt_dss, ml_hinfbt, ml_hinfbt_dss
- corrected using of sparse matrices for small examples
- fixed truncation of unstable eigenvalues in ml_mt_dss
- fixed truncation of no eigenvalues in ml_mt_dss
Version 3.0 (2017-09-01)
Structural changes:
- The toolbox is licensed under AGPLv3 or later.
- A new naming scheme for MORLAB functions is used to avoid overloading of foreign object names.
- MORLAB is now independent of SLICOT and can be used without the Control System Toolbox, Robust Control Toolbox and the Control Package.
- The code is properly generalized for the use under Otcave.
- The underlying data structure was generalized to descriptor state space objects (dss) and structs.
- Every computational subroutine has an optional argument for parameters.
- The subroutines are seperated by folders for better overview and an installation function was added.
- Proper documentation of every subroutine was added.
- Demo scripts for all model reduction routines with all assigned parameters were added.
- Toolbox internal check functions were added.
Subroutine changes:
- Changes in model reduction routines:
- generalized version of all previously existing model reduction routines following the improper Hankel singular value theory
- using disk function with double projection for descriptor system case
- several bug fixes
- Changes in matrix equation solvers:
- Newton iteration solver for the algebraic Riccati equation with changed sign in the quadratic term was replaced by factored version
- Smith method solver for the discrete-time Lyapunov equation with 0 spectrum added
- extension of all solvers to generalized matrix equations
- several bugfixes
- Changes in matrix functions/subroutines:
- renewed option set function with documentation opportunity
- new options function to get empty option structure or documentation
- subroutines for additive decomposition of the transfer function added
- sigma plot function now operates on struct inputs
Version 2.0 (2015)
Structural changes:
- The underlying data structure was generalized to Matlab's state space object (ss).
- Additional parameters for subroutines can be set by an option struct. Therefore, a set function was added.
- For the use of descriptor systems, the Control System Toolbox as well as some routines of the SLICOT toolbox are necessary.
Subroutine changes:
- Changes in model reduction routines:
- balanced stochastic truncation (BST) method added
- positive-real balanced truncation (PRBT) method added
- bounded-real balanced truncation (BRBT) method added
- Hankel-norm approximation (HNA) method added
- H-infinity balanced truncation (HinfBT) method added
- balancing-free square root method was added for all balancing related model reduction methods
- generalization of all methods to unstable and descriptor system by separation of corresponding eigenvalues
- Changes in matrix equation solvers:
- Newton iteration solver for the standard algebraic Riccati equation with changed sign in the quadratic term added
- Changes in matrix functions/subroutines:
- methods for partial stabilization of systems based on Lyapunov and Bernoulli equations added
Version 1.0 (2006)
The first release of MORLAB contained the following basic implementations:
- Model reduction routines:
- balanced truncation square root (BTSR) method
- LQG balanced truncation square root (LQGBT) method
- Modal Truncation (MT) method
- Matrix equation solvers:
- Sign function based solver for the standard Lyapunov equation
- Sign function based solver for the dual standard Lyapunov equations
- Sign function based solver for the standard Sylvester equation
- Newton iteration solver for the standard algebraic Riccati equation
- Matrix functions/subroutines:
- Newton iteration to compute the matrix sign function
- Disk function iteration to compute deflating subspaces of the unit circle