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.
Vasile Sima, March 10, 2005; Updated: December 2, 2012