Extensive performance evaluation of the implemented basic systems and control software has been performed to assess the accuracy and efficiency. The results have been compared with standard techniques incorporated in MATLAB. Before Release 7, many SLICOT codes, including Sylvester, Lyapunov, and Riccati solvers were several fold faster than the corresponding MATLAB solvers. Starting with Release 7, MATLAB includes much improved solvers, comparable with SLICOT. Actually, since Release 7, MATLAB Lyapunov and Sylvester solvers call SLICOT routines.

For illustrative purposes, several results for (block) Toeplitz matrices and associated linear systems are presented. The SLICOT solvers are compared with the available, standard techniques incorporated in MATLAB (namely, the M-function chol, and the linear system solving operators / and \), which do not exploit the problem structure, as well as with the MATLAB implementation of the same fast algorithms for block Toeplitz matrices (the M-function toepinv). Random data sets are used, but positivity is forced. The coefficient matrices are nxk-by-nxk symmetric block Toeplitz matrices BT, with k taking values in [1 2 20 50], and n obtained by dividing 1000 to k, hence nxk = 1000 ; k is the blocksize, and n is the number of the blocks. Also, the linear systems Y BT = C and BT X = B (C = B') are solved, the matrix B having nrhs columns, with nrhs also taking values in [1 2 20 50].

The speed-up factors for factorizations can be seen by clicking here, and the speed-up factors for solutions can be seen by clicking here. Specifically, the two diagrams show the ratios of the execution times of SLICOT fstoep MEX-file to MATLAB toepinv and \ or / operators, respectively. There are four problems for factorization (first diagram), for k = 1, 2, 20, and 50, and 16 problems for solution (second diagram), since all values of nrhs have been tried for each value of k. Both the systems BT X = B, or their transposed counterparts, Y BT = C, have been solved. R and L are the computed upper and lower Cholesky factors of BT and inv(BT), respectively, and Ti is an approximate inverse of BT, obtained using its computed generator, G, and U = chol(BT). The results have been obtained on a PC machine at 500 Mhz, without optimized BLAS. The errors and residuals for fstoep are slightly larger than for standard MATLAB functions, but essentially the same.


This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005; Updated November 5, 2013

For maximum convenience, easy-to-use interface M-functions are included in the Basic Systems and Control 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 tables contain lists of the main M-functions for basic computations in linear systems analysis and synthesis:

Solution of Lyapunov and Sylvester equations

sllyap Solution of continuous-time Lyapunov equations
slstei Solution of Stein equations
slstly Solving stable continuous-time Lyapunov equations for the Cholesky factor of the solution
slstst Solving stable Stein equations for the Cholesky factor of the solution
slsylv Solution of Sylvester equations
sldsyl Solution of discrete-time Sylvester equations

Solution of generalized Lyapunov and Sylvester equations

slgely Solution of generalized continuous-time Lyapunov equations
slgest Solution of generalized Stein equations
slgsly Solving stable generalized continuous-time Lyapunov equations for the Cholesky factor of the solution
slgsst Solving stable generalized Stein equations for the Cholesky factor of the solution
slgesg Solution of generalized Sylvester system of equations

Solution of Riccati equations

slcares Solution of continuos-time algebraic Riccati equation (CARE) with Schur method
slcaresc Solution of CARE with refined Schur method and condition estimation
slcaregs Solution of CARE with generalized Schur method on an extended matrix pencil
sldares Solution of discrete-time algebraic Riccati equation (DARE) with Schur method
sldaresc Solution of DARE with refined Schur method and condition estimation
sldaregs Solution of DARE with generalized Schur method on an extended matrix pencil
sldaregsv Solution of DARE with generalized Schur method on a symplectic pencil

Solution of generalized Riccati equations

slgcare Solution of generalized continuos-time algebraic Riccati equation (CARE) with generalized Schur method
slgdare Solution of generalized discrete-time algebraic Riccati equation (DARE) with generalized Schur method

Condition estimation for Lyapunov and Riccati equations

lyapcond Condition estimation for a Lyapunov equation
steicond Condition estimation for a Stein equation
carecond Condition estimation for a CARE
darecond Condition estimation for a DARE

Controllability/observability/minimal realization

slconf Controllability staircase form of a system
slobsf Observability staircase form of a system
slminr Minimal realization of a system

Similarity transformations

slsbal Balancing the system matrix of a state-space system
slsrsf Reduction of the state matrix of a state space system to a real Schur form
slsorsf Reduction of the state matrix of a state space system to an ordered real Schur form
slsdec Additive spectral decomposition of a system with respect to a given stability domain

Factorization of transfer matrices

lcf Left coprime factorization with prescribed stability degree
rcf Right coprime factorization with prescribed stability degree
lcfid Left coprime factorization with inner denominator
rcfid Right coprime factorization with inner denominator

System inter-connections

slosfeed Closed-loop system for a mixed output and state feedback control law
slofeed Closed-loop system for an output feedback control law

System norms

slH2norm H2/L2 norm of a system
slHknorm Hankel-norm of a stable projection of a system
slinorm L-infinity norm of a system
slstabr Complex stability radius

Canonical forms and system transformations for descriptor systems

slgconf Controllability staircase form
slgobsf Observability staircase form
slgminr Irreducible form of a system
slgsbal Balancing the system matrix of a descriptor system
slgsHes Reduction of the pair (A,E) of a descriptor system to a generalized Hessenberg form
slgsQRQ Transformation to a QR- or RQ-coordinate form
slgsrsf Transformation to a real generalized Schur form
slgsSVD Transformation to a singular value decomposition (SVD) or SVD-like coordinate form

Poles and zeros

nrank Normal rank of the transfer-function matrix of a standard system
polzer Normal rank, poles, zeros, and the Kronecker structure of the system pencil for a standard or descriptor system
slpole Poles of a standard or descriptor system
slzero Normal rank, zeros, and the Kronecker structure of the system pencil for a standard or descriptor system

Kalman filter

convKf One recursion of the conventional Kalman filter equations
srcf Combined measurement and time update of one iteration of the time-varying or time-invariant Kalman filter in the Square Root Covariance Form
srif Combined measurement and time update of one iteration of the time-varying or time-invariant Kalman filter in the Square Root Information Form

Benchmarks

ctdsx Benchmark examples for time-invariant, continuous-time, dynamical systems
dtdsx Benchmark examples for time-invariant, discrete-time, dynamical systems
ctlex Benchmark examples of (generalized) continuous-time Lyapunov equations
dtlex Benchmark examples of (generalized) discrete-time Lyapunov equations

Special numerical linear algebra computations

bdiag Block diagonalization of a general matrix or a matrix in real Schur form
persch Periodic Hessenberg or periodic Schur decomposition of a matrix product
Hameig Eigenvalues of a Hamiltonian matrix using square-reduced approach
habalance Symplectic scaling of a Hamiltonian matrix
haconv Storage representation conversions for a Hamiltonian matrix
haeig Eigenvalues of a Hamiltonian matrix using HAPACK approach
hapvl Paige-Van Loan's form of a Hamiltonian matrix
haschord Reordering the Schur form of a Hamiltonian matrix
hastab Complete stable/unstable invariant subspace of a Hamiltonian matrix
hasub Selected stable/unstable invariant subspace of a Hamiltonian matrix
haurv Symplectic URV form of a general 2n-by-2n matrix
haurvps Symplectic URV/periodic Schur form of a Hamiltonian matrix
shbalance Symplectic scaling of a skew-Hamiltonian matrix
shconv Storage representation conversions for a skew-Hamiltonian matrix
sHHeig Eigenvalues of skew-Hamiltonian/(skew-)Hamiltonian matrix pencils
sHHstab Complete stable right deflating subspace (and a companion subspace, for pencils in factored form)
sHHurvps Generalized symplectic URV/periodic Schur form of a skew-Hamiltonian/(skew-)Hamiltonian matrix pencil
TLS Solution of the Total Least Squares problem using a singular value decomposition (SVD) approach or a Partial SVD (PSVD) approach

Structured matrix factorizations

fstchol Factorization of a symmetric positive definite (block) Toeplitz matrix T, and solution of associated linear systems, given the first (block) row / column of T
fstgen Factorization of a symmetric positive definite (block) Toeplitz matrix T, computation of the generator of its inverse, inv(T), and/or solution of associated linear systems using the Cholesky factor of inv(T), given the first (block) row / column of T
fstsol Solution of linear systems X T = B / T X = B, where T is a symmetric positive definite (block) Toeplitz matrix, given the first (block) row / column of T
fstupd Factorization and/or updating a factorization of a symmetric positive definite (block) Toeplitz matrix T, and solution of associated linear systems, given the first (block) row / column of T
fstqr Orthogonal-triangular decomposition of a (block) Toeplitz matrix T and solution of associated linear least-squares problems, given the first (block) row and (block) column of T
fstlsq Solution of the linear least-squares problems min(B - T X) or finding the minimum norm solution of T' Y = C, where T is a (block) Toeplitz matrix with full column rank, given the first (block) column and the first (block) row of T
fstmul Matrix-vector products x = T b for a (block) Toeplitz matrix T, given the first (block) column and the first (block) row of T

Data analysis

sincos Sine or cosine transform of a real signal
slHart Discrete Hartley transform of a real signal
slconv Convolution of two real signals using either fast Fourier transform (FFT) or Hartley transform
sldeconv Deconvolution of two real signals using either FFT or Hartley transform
slwindow Anti-aliasing window applied to a real signal

 

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 basic systems analysis and synthesis:

linmeq Solution of linear matrix equations
genleq Solution of generalized linear matrix equations
aresol Solution of Riccati equations
aresolc Solution of Riccati equations with condition and forward error bound estimates
garesol Solution of generalized (descriptor) Riccati equations
arecond Condition estimate and forward errors for Lyapunov and algebraic Riccati equations
arebench Benchmark examples for algebraic Riccati equations
condis Continuous-time - discrete-time bilinear transformation
sysconn Inter-connections of two systems given in state-space
sysfconn Closed-loop system corresponding to the output, or mixed output and state, feedback control law
invert Dual or inverse of a linear (descriptor) system
deadbeat Minimum norm feedback matrix performing deadbeat control on a matrix pair
polass Partial pole assignment
syscom Controllability/observability/minimal realization
systra System similarity transformation
gsyscom Controllable, observable, or irreducible form
gsystra Equivalence transformations for descriptor systems
isprpr Properness test for the transfer function of a descriptor system
specfact Spectral factorization of a real polynomial
cfsys Factorization of transfer matrices
syscf State-space representation of a system from the factors of its left or right coprime factorization
slmexp Matrix exponential and its integral
ldsimt Output response of a linear discrete-time system
Hnorm System norms and complex stability radius
linorm L-infinity norm of a system
polezero Normal rank, poles, zeros, and the Kronecker structure of the system pencil for a standard or descriptor system
polezeroz Normal rank, poles, zeros, and the Kronecker structure of the system pencil for a standard or descriptor system with complex matrices
Kfiltupd Combined measurement and time update of one iteration of the Kalman filter
bldiag Block-diagonalization of a matrix
perschur Periodic Hessenberg or periodic Schur decomposition of a matrix product
Hamileig Eigenvalues of a Hamiltonian matrix using the square-reduced approach
hapack_haeig Eigenvalues of a Hamiltonian matrix using the HAPACK approach
HaeigZ Eigenvalues of a complex Hamiltonian matrix using the HAPACK approach
symplURV Eigenvalues and generalized symplectic URV decomposition of a skew-Hamiltonian/Hamiltonian pencil in factored form
symplURVZ Eigenvalues and generalized symplectic URV decomposition of a complex skew-Hamiltonian/Hamiltonian pencil in factored form
skewHamil2eig Eigenvalues and orthogonal decomposition of a skew-Hamiltonian/skew-Hamiltonian pencil
skewHamil2feig Eigenvalues and orthogonal decomposition of a skew-Hamiltonian/skew-Hamiltonian pencil in factored form
skewHamileig Eigenvalues and orthogonal decomposition of a skew-Hamiltonian/Hamiltonian pencil
skewHamileigZ Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil
skewHamildefl Eigenvalues of a skew-Hamiltonian/Hamiltonian pencil and the right deflating subspace corresponding to the eigenvalues with strictly negative real part
skewHamildeflf Eigenvalues of a skew-Hamiltonian/Hamiltonian pencil in factored form and the right deflating subspace corresponding to the eigenvalues with strictly negative real part
skewHamildeflZ Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil and the right deflating subspace corresponding to the eigenvalues with strictly negative real part
skewHamildeflfZ Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil in factored form and the right deflating subspace corresponding to the eigenvalues with strictly negative real part
TotalLS Solution of the Total Least Squares problem using a singular value decomposition (SVD) approach or a Partial SVD (PSVD) approach
fstoep Factorization of a symmetric positive definite (block) Toeplitz matrix and/or solution of associated linear systems
fstoeq QR factorization of a (block) Toeplitz matrix and/or solution of associated linear least-squares systems
datana Data analysis

The MEX-files above provide interfaces to the main user-callable or computational routines for basic systems analysis and synthesis, 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.

 


This email address is being protected from spambots. You need JavaScript enabled to view it. March 10, 2005; Updated: December 2, 2012

SLICOT System Identification Toolbox includes SLICOT-based MATLAB and Fortran tools for linear and Wiener-type, time-invariant discrete-time multivariable systems. Subspace-based approaches MOESP - Multivariable Output-Error state SPace identification, N4SID - Numerical algorithms for Subspace State Space System IDentification, and their combination, are used to identify linear systems, and to initialize the parameters of the linear part of a Wiener system. All parameters of a Wiener system are then estimated using a specialized Levenberg-Marquardt algorithm.

The main functionalities of the toolbox include:

  • identification of linear discrete-time state space systems (A, B, C, D)
  • identification of state and output (cross-)covariance matrices for such systems
  • estimation of the associated Kalman gain matrix
  • estimation of the initial state
  • conversion from/to a state-space representation to/from the output normal form parameterization
  • identification of discrete-time Wiener systems
  • computation of the output response of Wiener systems.

The toolbox main features are:

  • computational reliability
  • high numerical efficiency, using structure exploiting algorithms and dedicated linear algebra tools
  • possible speed-up factors larger then 10 in comparison with the commonly used software tools
  • flexibility and easy-of-use
  • ability to process multiple (possibly connected) data batches
  • standardized interfaces

The programs have been extensively tested on various test examples and are fully documented.


SLICOT Toolboxes for MATLAB are subject to a license fee and require an individual license agreement.Find detailed information here or contact the This email address is being protected from spambots. You need JavaScript enabled to view it. directly.


Vasile Sima,  February 2, 2005

SLICOT Model and Controller Reduction Toolbox includes SLICOT-based MATLAB and Fortran tools for computing reduced-order linear models and controllers. The toolbox employs theoretically sound and numerically reliable and efficient techniques, including Balance & Truncate, singular perturbation approximation, balanced stochastic truncation, frequency-weighting balancing, Hankel-norm approximation, coprime factorization, etc.

The main functionalities of the toolbox include:

  • order reduction for continuous-time and discrete-time multivariable models and controllers
  • order reduction for stable or unstable models/controllers
  • additive error model reduction
  • relative error model and controller reduction
  • frequency-weighted reduction with special stability/performance enforcing weights
  • coprime factorization-based reduction of state feedback and observer-based controllers

The toolbox main features are:

  • computational reliability using square-root and balancing-free accuracy enhancing
  • high numerical efficiency, using latest algorithmic developments, structure exploiting algorithms, and dedicated linear algebra tools
  • flexibility and easy-of-use
  • enhanced functionality, e.g, for controller reduction
  • standardized interfaces

The programs have been extensively tested on various test examples and are fully documented.


SLICOT Toolboxes for MATLAB are subject to a license fee and require an individual license agreement. Find detailed information here or contact the This email address is being protected from spambots. You need JavaScript enabled to view it. directly.


Andras Varga,  March 12, 2002, updated Vasile Sima,  March 10, 2005

SLICOT Basic Systems and Control Toolbox includes SLICOT-based MATLAB and Fortran tools for solving efficiently and reliably various basic computational problems for linear time-invariant multivariable systems analysis and synthesis. Standard and generalised (descriptor) state space systems are covered.

The main functionalities of the toolbox include:

  • similarity and equivalence transformations for standard and descriptor systems
    • essential computations with structured matrices, including
    • eigenvalues of a Hamiltonian matrix or of a skew-Hamiltonian/Hamiltonian pencil
    • Periodic Hessenberg and periodic Schur decompositions
  • computations with (block) Toeplitz matrices and systems
  • analysis of standard and descriptor systems
  • solution of Lyapunov and Riccati equations with condition estimation
  • coprime factorization and spectral decomposition of transfer-function matrices

The toolbox main features are:

  • computational reliability
  • high numerical efficiency using latest algorithmic developments, structure exploiting algorithms, and dedicated linear algebra tools
  • flexibility and easy-of-use;
  • standardized interfaces

The programs have been extensively tested on various test examples and are fully documented.


SLICOT Toolboxes for MATLAB are subject to a license fee and require an individual license agreement. Find detailed information here or contact the This email address is being protected from spambots. You need JavaScript enabled to view it. directly.


Vasile Sima,  March 10, 2005  Updated: November 29, 2010