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