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

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

  1. A. Varga "Selection of Model Reduction Routines", SLICOT Working Note 1998-2, June 1998.
  2. A. Varga "Model reduction routines for SLICOT", NICONET Report 1999-8: June 1999.
  3. 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.
  4. A. Varga "Selection of Software for Controller Reduction", SLICOT Working Note 1999-18, December 1999.
  5. A. Varga "New numerical software for model and controller reduction", SLICOT Working Note 2002-5, June 2002.
  6. 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.
  7. 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

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

  1. 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.
  2. A. Varga and P. Van Dooren "Summary report of topic I.A.", SLICOT Working Note 1999-17, November 1999.
  3. V. Mehrmann, V. Sima, A. Varga and H. Xu "A MATLAB MEX-file environment of SLICOT", SLICOT Working Note 1999-11, August 1999.
  4. V. Mehrmann and T. Penzl "Benchmark collections in SLICOT", SLICOT Working Note 1998-5, June 1998.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. P. Van Dooren "Selection of Basic Software Tools for Structured Matrix Decompositions and Perturbations", SLICOT Working Note 1999-9, June 1999.
  10. D. Kressner and P. Van Dooren "Factorizations and linear system solvers for matrices with Toeplitz structure", SLICOT Working Note 2000-2, June 2000.
  11. M. Slowik, P. Benner, and V. Sima "Evaluation of the Linear Matrix Equation Solvers in SLICOT", SLICOT Working Note 2004-1, September 2004.
  12. 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