SLICOT Model and Controller Reduction Toolbox: MATLAB MEX- and M-functions
For maximum convenience, easy-to-use interface M-functions are included in the model and controller reduction toolbox, explicitly addressing some of supported features. Whenever possible, these M-functions allow to work with system objects defined in the MATLAB Control Toolbox.
The following table contains the list of implemented M-functions for model and controller reduction:
bta | Balance & Truncate model reduction for the stable part (square-root balancing-free approach) |
btabal | Balance & Truncate model reduction for the stable part (square-root approach) |
bta_cf | Balance & Truncate model reduction of the coprime factors (square-root balancing-free approach) |
btabal_cf | Balance & Truncate model reduction of the coprime factors (square-root approach) |
spa | Singular perturbation approximation based model reduction for the stable part (square-root balancing-free approach) |
spabal | Singular perturbation approximation based model reduction for the stable part (square-root approach) |
spa_cf | Singular perturbation approximation based model reduction of the coprime factors (square-root balancing-free approach) |
spabal_cf | Singular perturbation approximation based model reduction of the coprime factors (square-root approach) |
hna | Hankel norm approximation based model reduction for the stable part (square-root approach) |
bst | Balanced stochastic truncation based model reduction |
fwbred | Frequency-weighted balancing related model reduction |
fwhna | Frequency-weighted Hankel-norm approximation |
fwbconred | Frequency-weighted balancing related controller reduction |
sfconred | Coprime factorization based state feedback controller reduction |
sysredset | Creation of a SYSRED options structure |
sysredget | Getting the value of a named parameter from a SYSRED options structure |
The MEX-functions are more difficult to use than the provided M-functions, but allow a greater flexibility. They are called by the M-functions. The following table contains the list of MEX-files for model and controller reduction:
sysred | Model reduction of a continuous- or discrete-time state-space system using various techniques |
bstred | Balanced stochastic truncation model reduction |
conred | Frequency-weighted balancing related controller reduction |
fwehna | Frequency-weighted Hankel-norm approximation |
fwered | Frequency-weighted balancing related model reduction |
sfored | State-feedback-observer controller reduction |
The MEX-files above provide interfaces to the main user-callable routines for model and controller reduction, and cover all functionality available in the corresponding SLICOT routines.
Executable SLICOT MEX-files are provided for recent MATLAB releases running under WINDOWS and Linux. Demonstration packages can also be provided.
For purchasing licenses of SLICOT-based MATLAB Toolboxes, please contact the This email address is being protected from spambots. You need JavaScript enabled to view it..
This email address is being protected from spambots. You need JavaScript enabled to view it. March 12, 2002, Updated This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005; October 18, 2009
SLICOT Model and Controller Reduction Toolbox: Numerical Results
Extensive performance evaluation of the implemented model and controller reduction software has been performed, including three industrial examples: a linearized aircraft model, a CD-player finite element model and a gasifier model. These industrial examples are described in the following NICONET Report:
A.Varga. Model reduction routines for SLICOT, NICONET Report 1999-8, June 1999.
Linearized aircraft model of ATTAS.
This model describes the linearized rigid body dynamics of the DLR Advanced Technology Testing Aircraft System (ATTAS) during the landing approach. The nonlinear model of ATTAS used for linearization has been obtained using the object oriented modelling tool Dymola. Besides flight dynamics, this model includes actuators and sensors dynamics, as well as engine dynamics. Several low pass filters to eliminate structure induced dynamics in outputs are also included. The total order of the model is 55. The linearized model is non-minimal and has additionally an unstable spiral mode. Moreover, because of presence of position states, there are three pure integrators in the model and an additional one for the heading angle. Overall, there are 6 control inputs, 3 wind disturbance inputs, and 9 measurement outputs. This model serves basically for the evaluation of linear handling criteria in a multi-model based robust autopilot design.
Several low order models have been computed using the Balance & Truncate method. A 15-th order approximation has been computed which fits almost exactly the original 55 order model both in terms of step responses as well as of Nyquist frequency responses. Click here to see the good agreement obtained between the frequency responses of the original and reduced model for (2,2)-element of the corresponding transfer function matrix. Reduced models for longitudinal and lateral modes have been also computed. The reduced longitudinal ATTAS model has 7 states, 4 inputs and 4 outputs, while a reduced model for the lateral flight has 10 states, 2 inputs and 5 outputs.
CD-player finite element model
This is a 120-th order single-input single-output system which describes the dynamics between the lens actuator and radial arm position of a portable compact disc player. Due to physical constraints on the size of the systems's controller, a reduced model with order at most 15 is desired. Three 10-th order models have been determined using three methods available in SLICOT. Click here to see the performance of different computed approximations based on Bode plots. All methods approximate satisfactorily the central peak at frequency about 120Hz, but have different approximation properties at low and high frequencies. Both SPA and HNA approximations seems to be inappropriate, although the stationary error for the SPA method is zero. The B&T method appears to provide a good 10-th order approximation.
GEC ALSTHOM gasifier model.
A detailed nonlinear industrial gasifier model has been developed by GEC ALSTHOM, in October 1997, as a benchmark problem for simulation and robust control. The model includes all significant effects; e.g., drying of coal and limestone, pyrolysis and volatilisation of coal, the gasification process itself and elutriation of fines. This model has been validated using measured time histories from the British Coal CTDD experimental test facility and it was shown that the model predicts the main trends in fuel gas quality. Linearized models at 0%, 50% and 100% load are available to support a multi-model based robust controller design. The three linearized models have order 25 and are non-minimal. Numerical difficulties with respect to using these models have been reported. The apparent cause of difficulties is a poor scaling of the model.
The computed reduced order models of state dimension 16 cannot be practically distinguished from the original models on basis of time or frequency responses. No preliminary scaling of the original models was necesssary, since this feature is available by default in all SLICOT model reduction routines. Several lower order approximations of orders 6, 8 and 12 have been also computed. The 12th order models give very good approximations of the original models and can serve as bases for designing a unique robust controller ensuring satisfactory performance for all three models. A comparison on basis of the (3,5)-elements of the corresponding transfer-function matrices can be seen here.
In addition, extensive testing of the SLICOT model reduction software has been performed using several benchmark problems. The various examples for stable and unstable systems are described in chapter 4 of the NICONET Report No 1999-8: A. Varga "Model reduction routines for SLICOT", June 1999.
This email address is being protected from spambots. You need JavaScript enabled to view it. March 12, 2002, Updated This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005
SLICOT Model and Controller Reduction Toolbox: Available Reports and Publications
- A. Varga "Selection of Model Reduction Routines", SLICOT Working Note 1998-2, June 1998.
- A. Varga "Model reduction routines for SLICOT", NICONET Report 1999-8: June 1999.
- A. Varga "Model reduction software in the SLICOT library", In "Applied and Computational Control, Signals, and Circuits, Ed. B. Datta", Vol. 2, pp. 239-282, Kluwer Academic Publishers, Boston, 2001.
- A. Varga "Selection of Software for Controller Reduction", SLICOT Working Note 1999-18, December 1999.
- A. Varga "New numerical software for model and controller reduction", SLICOT Working Note 2002-5, June 2002.
- A. Varga and B.D.O. Anderson "Accuracy enhancing methods for the frequency-weighted balancing related model reduction". Proc. of CDC'2001, Orlando, Florida, pp. 3659-3664, 2001.
- A. Varga "Numerical approach for the frequency-weighted Hankel-norm approximation". Proc. of European Control Conference, ECC'2001, Porto, Portugal, pp. 640-645, 2001.
This email address is being protected from spambots. You need JavaScript enabled to view it. March 12, 2002; Updated This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005
SLICOT Basic Systems and Control Toolbox: Fortran Subroutines
The Fortran routines of the Basic Systems and Control Toolbox are aimed to perform essential system analysis and synthesis computations. The main features and options are:
- standard and generalised state space systems are covered, the main topics being:
- basic mathematical computations, including solution of linear and quadratic (symmetric) matrix equations
- system analysis and synthesis
- transfer matrix factorization
- similarity and equivalence transformations on standard and generalized state space (descriptor) systems
- availability of both, fully documented drivers and computational routines
- whenever possible, structure exploiting algorithms and dedicated linear algebra tools are used
- condition number and forward error bounds estimates can be obtained for many computations, including for Lyapunov and Riccati equations
A list of the main Fortran routines with links to the associated .html documentation is given in the following tables, where * denotes auxiliary routines:
Mathematical routines
MB03RD | Reduction of a real Schur matrix to a block-diagonal form |
MB03QD | Reordering of the diagonal blocks of a real Schur matrix |
MB03SD | Eigenvalues of a square-reduced Hamiltonian matrix |
MB03UD | Singular value decomposition of an upper triangular matrix |
MB04DY | *Symplectic scaling of a Hamiltonian matrix |
MB04ZD | Transforming a Hamiltonian matrix into a square-reduced form |
MB03VD | Periodic Hessenberg form of a product of matrices |
MB03VY | *Generating orthogonal matrices for reduction to periodic Hessenberg form of a product of matrices |
MB03WD | Periodic Schur decomposition and eigenvalues of a product of matrices in periodic Hessenberg form |
MB03WX | *Eigenvalues of a quasi-triangular product of matrices |
MB02MD | Solution of Total Least-Squares problem using a singular value decomposition (SVD) approach |
MB02ND | Solution of Total Least-Squares problem using a partial SVD approach |
Mathematical routines using HAPACK approach
MB03TD | Reordering the diagonal blocks of a matrix in (skew-)Hamiltonian Schur form |
MB03XD | Eigenvalues of a real Hamiltonian matrix |
MB03XS | *Eigenvalues of a real skew-Hamiltonian matrix |
MB03XZ | Eigenvalues of a complex Hamiltonian matrix |
MB03XP | Periodic Schur decomposition and eigenvalues of a matrix product A*B, with A upper Hessenberg and B upper triangular |
MB03YD | Periodic QR iteration |
MB03ZA | *Reordering a selected cluster of eigenvalues of a given matrix pair in periodic Schur form |
MB03ZD | Stable and unstable invariant subspaces for a dichotomic Hamiltonian matrix |
MB04DD | *Balancing a real Hamiltonian matrix |
MB04DZ | *Balancing a complex Hamiltonian matrix |
MB04DI | *Applying the inverse of a balancing transformation for a real Hamiltonian matrix |
MB04DS | *Balancing a real skew-Hamiltonian matrix |
MB04DY | *Symplectic scaling of a real Hamiltonian matrix |
MB04PB | Paige/Van Loan form of a Hamiltonian matrix |
MB04QB | *Applying a product of symplectic reflectors and Givens rotators to two general real matrices |
MB04QC | *Premultiplying a real matrix with an orthogonal symplectic block reflector |
MB04QF | *Forming the triangular block factors of a symplectic block reflector |
MB04TB | Symplectic URV decomposition of a real 2N-by-2N matrix |
MB04WD | *Generating an orthogonal basis spanning an isotropic subspace |
MB04WR | *Generating orthogonal symplectic matrices defined as products of symplectic reflectors and Givens rotators |
SB04OW | *Solving a periodic Sylvester equation with matrices in periodic Schur form |
UE01MD | Default machine-specific parameters for (skew-)Hamiltonian computation routines |
Mathematical routines for skew-Hamiltonian/Hamiltonian pencils
MB03BD | *Finding eigenvalues of a generalized matrix product in Hessenberg-triangular form |
MB03BZ | *Finding eigenvalues of a complex generalized matrix product in Hessenberg-triangular form |
MB03FZ | Eigenvalues, stable right deflating subspace and companion subspace of a complex skew-Hamiltonian/Hamiltonian pencil (factored version) |
MB03ID | *Moving eigenvalues with negative real parts of a real skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the leading subpencil (factored version) |
MB03IZ | *Moving eigenvalues with negative real parts of a complex skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the leading subpencil (factored version) |
MB03JD | *Moving eigenvalues with negative real parts of a real skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the leading subpencil |
MB03JZ | *Moving eigenvalues with negative real parts of a complex skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the leading subpencil |
MB03KD | *Reordering the diagonal blocks of a formal matrix product in periodic Schur form using periodic QZ algorithm |
MB03LF | Eigenvalues, stable right deflating subspace and companion subspace of a real skew-Hamiltonian/Hamiltonian pencil (factored version) |
MB03LD | Eigenvalues and stable right deflating subspace of a real skew-Hamiltonian/Hamiltonian pencil |
MB03LZ | Eigenvalues and stable right deflating subspace of a complex skew-Hamiltonian/Hamiltonian pencil |
MB04AD | Eigenvalues and generalized symplectic URV decomposition of a real skew-Hamiltonian/Hamiltonian pencil in factored form |
MB04AZ | Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil in factored form |
MB04BD | Eigenvalues and orthogonal decomposition of a real skew-Hamiltonian/Hamiltonian pencil |
MB04BZ | Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil |
MB04CD | *Reducing a special real block (anti-)diagonal skew-Hamiltonian/Hamiltonian pencil to generalized Schur form (factored version) |
MB04ED | Eigenvalues and structured Schur form of a real skew-Hamiltonian/skew-Hamiltonian pencil in factored form |
MB04FD | Eigenvalues and structured Schur form of a real skew-Hamiltonian/skew-Hamiltonian pencil |
MB04HD | *Reducing a special real block (anti-)diagonal skew-Hamiltonian/Hamiltonian pencil to generalized Schur form |
MB04QS | *Matrix multiplication with a product of symplectic reflectors and Givens rotations |
MB04RB | *Reduction of a real skew-Hamiltonian matrix to Paige/Van Loan form |
MB04RU | *Reduction of a real skew-Hamiltonian matrix to Paige/Van Loan form (unblocked version) |
MB04SU | *Symplectic QR decomposition of a real 2M-by-N matrix |
Mathematical routines for (block) Toeplitz matrices
MB02CD | Cholesky factor and the generator and/or the Cholesky factor of the inverse of a symmetric positive definite block Toeplitz matrix |
MB02CU | *Bringing the first blocks of a generator in proper form (enhanced version of MB02CX) |
MB02CV | *Applying the transformations created by the routine MB02CU on other columns or rows of the generator |
MB02CX | *Bringing the first blocks of a generator in proper form |
MB02CY | *Applying the transformations created by the routine MB02CX on other columns or rows of the generator |
MB02DD | Updating the Cholesky factor, the generator, and/or the Cholesky factor of the inverse of a symmetric positive definite block Toeplitz matrix, given the information from a previous factorization and additional blocks of its first block row, or its first block column |
MB02ED | Solving a system of linear equations, T X = B or X T = B, with a symmetric positive definite block Toeplitz matrix T |
MB02FD | Incomplete Cholesky factor and the generator of a symmetric positive definite block Toeplitz matrix |
MB02GD | Cholesky factor of a banded symmetric positive definite block Toeplitz matrix |
MB02HD | Cholesky factor of the matrix T' T, with T a banded block Toeplitz matrix of full rank |
MB02ID | Solving an over- or underdetermined linear system with a full rank block Toeplitz matrix |
MB02JD | Full QR factorization of a block Toeplitz matrix of full rank |
MB02JX | Low rank QR factorization with column pivoting of a block Toeplitz matrix |
MB02KD | Computing the product C = alpha*op( T )*B + beta*C, with T a block Toeplitz matrix |
System norm and zeros routines
AB13AD | Hankel-norm of the stable projection |
AB13AX | *Hankel-norm of a stable system with the state matrix in real Schur form |
AB13BD | H2 or L2 norm of a system |
AB13DD | L-infinity norm of a state space system |
AB13ED | Complex stability radius, using bisection |
AB13FD | Complex stability radius, using bisection and SVD |
AB13ID | Properness test for the transfer function matrix of a descriptor system |
AB08ND | Zeros and Kronecker structure of a system pencil |
AG08BD | Zeros and Kronecker structure of a descriptor system pencil |
AB08NZ | Zeros and Kronecker structure of a system pencil with complex matrices |
AG08BZ | Zeros and Kronecker structure of a descriptor system pencil with complex matrices |
Standard systems transformation routines
TB01ID | Balancing a system matrix for a given system triple |
TB01IZ | Balancing a system matrix for a given system triple with complex matrices |
TB01KD | Additive spectral decomposition of a state-space system |
TB01LD | Spectral separation of a state-space system |
TB01WD | Reduction of the state dynamics matrix to real Schur form |
TB01PD | Minimal, controllable or observable block Hessenberg realization |
Factorization routines
SB08CD | Left coprime factorization with inner denominator |
SB08DD | Right coprime factorization with inner denominator |
SB08ED | Left coprime factorization with prescribed stability degree |
SB08FD | Right coprime factorization with prescribed stability degree |
SB08GD | State-space representation of a left coprime factorization |
SB08HD | State-space representation of a right coprime factorization |
Synthesis routines
SB01BD | Multiinput pole assignment using the Schur method |
SB01DD | Eigenstructure assignment for a controllable matrix pair (A,B) in orthogonal canonical form |
SB06ND | Minimum norm deadbeat control state feedback matrix |
SB02QD | Condition and forward error for continuous-time Riccati equation solution |
SB02RD | Solution of algebraic Riccati equations (generalized Schur method) |
SB02OD | Solution of algebraic Riccati equations (refined Schur vectors method) with condition and forward error bound estimates |
SB02PD | Solution of continuous-time algebraic Riccati equations (matrix sign function method) with condition and forward error bound estimates |
SG02AD | Solution of algebraic Riccati equations for descriptor systems |
SB02SD | Condition and forward error for discrete-time Riccati equation solution |
SB03OD | Solving stable Lyapunov equations for the Cholesky factor of the solution |
SB03QD | Condition and forward error for continuous-time Lyapunov equations |
SB03SD | Condition and forward error for discrete-time Lyapunov equations |
SB03TD | Solution of continuous-time Lyapunov equations, condition and forward error estimation |
SB03UD | Solution of discrete-time Lyapunov equations, condition and forward error estimation |
SB04MD | Solution of continuous-time Sylvester equations (Hessenberg-Schur method) |
SB04QD | Solution of discrete-time Sylvester equations (Hessenberg-Schur method) |
SB04PD | Solution of continuous- or discrete-time Sylvester equations (Schur method) |
SB04OD | Solution of generalized Sylvester equations with separation estimation |
SG03AD | Solution of generalized Lyapunov equations and separation estimation |
SG03BD | Solution of stable generalized Lyapunov equations (Cholesky factor) |
Descriptor systems transformation routines
TG01AD | Balancing the matrices of the system pencil corresponding to a descriptor triple |
TG01AZ | Balancing the matrices of the system pencil corresponding to a descriptor triple with complex matrices |
TG01CD | Orthogonal reduction of a descriptor system pair (A-sE,B) to the QR-coordinate form |
TG01DD | Orthogonal reduction of a descriptor system pair (C,A-sE) to the RQ-coordinate form |
TG01ED | Orthogonal reduction of a descriptor system to a SVD coordinate form |
TG01FD | Orthogonal reduction of a descriptor system to a SVD-like coordinate form |
TG01FZ | Orthogonal reduction of a descriptor system with complex matrices to a SVD-like coordinate form |
TG01HD | Orthogonal reduction of a descriptor system to the controllability staircase form |
TG01ID | Orthogonal reduction of a descriptor system to the observability staircase form |
TG01JD | Irreducible descriptor representation |
TG01JY | Irreducible descriptor representation (blocked version) |
Benchmark routines
BD01AD | Benchmarks for state-space realizations of continuous-time dynamical systems (CTDSX) |
BD02AD | Benchmarks for state-space realizations of discrete-time dynamical systems (DTDSX) |
BB01AD | Benchmark examples for continuous-time Riccati equations |
BB02AD | Benchmark examples for discrete-time Riccati equations |
BB03AD | Benchmark examples for continuous-time Lyapunov equations (CTLEX) |
BB04AD | Benchmark examples for discrete-time Lyapunov equations (DTLEX) |
Data analysis routines
DE01PD | Convolution or deconvolution of two real signals using Hartley transform |
DF01MD | Sine transform or cosine transform of a real signal |
DK01MD | Anti-aliasing window applied to a real signal |
The documentation of all routines is also accessible from the SLICOT Library main index (in case of the drivers, or user-callable routines), or from the SLICOT Supporting Routines index (in case of the auxiliary routines, marked with * in the tables above). The SLICOT Supporting Routines index is also accessible from the main Library index.
This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005; Updated: December 2, 2012
SLICOT Basic Systems and Control Toolbox: Available Reports
- A. Varga "Selection of Basic Software Tools for Standard and Generalized State-space Systems and Transfer Matrix Factorizations", SLICOT Working Note 1998-3, June 1998.
- A. Varga and P. Van Dooren "Summary report of topic I.A.", SLICOT Working Note 1999-17, November 1999.
- V. Mehrmann, V. Sima, A. Varga and H. Xu "A MATLAB MEX-file environment of SLICOT", SLICOT Working Note 1999-11, August 1999.
- V. Mehrmann and T. Penzl "Benchmark collections in SLICOT", SLICOT Working Note 1998-5, June 1998.
- D. Kressner, V. Mehrmann and T. Penzl "CTDSX - a collection of benchmarks for state-space realizations of continuous-time dynamical systems", SLICOT Working Note 1998-9, November 1998.
- D. Kressner, V. Mehrmann and T. Penzl "DTDSX - a collection of benchmarks for state-space realizations of discrete-time dynamical systems", SLICOT Working Note 1998-10, November 1998.
- D. Kressner, V. Mehrmann and T. Penzl "CTLEX - a collection of benchmarks examples for continuous-time Lyapunov equations", SLICOT Working Note 1999-6, June 1999.
- D. Kressner, V. Mehrmann and T. Penzl "DTLEX - a collection of benchmarks examples for discrete-time Lyapunov equations", SLICOT Working Note 1999-7, June 1999.
- P. Van Dooren "Selection of Basic Software Tools for Structured Matrix Decompositions and Perturbations", SLICOT Working Note 1999-9, June 1999.
- D. Kressner and P. Van Dooren "Factorizations and linear system solvers for matrices with Toeplitz structure", SLICOT Working Note 2000-2, June 2000.
- M. Slowik, P. Benner, and V. Sima "Evaluation of the Linear Matrix Equation Solvers in SLICOT", SLICOT Working Note 2004-1, September 2004.
- P. Benner, D. Kressner, V, Sima, and A. Varga "The SLICOT Toolboxes - a Survey", SLICOT Working Note 2009-1, August 2009.
This email address is being protected from spambots. You need JavaScript enabled to view it.March 10, 2005, Updated: December 2, 2012