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