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