# SLICOT SUPPORTING ROUTINES INDEX

To go to the beginning of a chapter click on the appropriate letter below:

A ; B ; C ; D ; F ; I ; M ; N ; S ; T ; U ;
or Return to SLICOT homepage
or Go to SLICOT LIBRARY INDEX

## A - Analysis Routines

### AB - State-Space Analysis

#### Poles, Zeros, Gain

    AB08NX   Construction of a reduced system with input/output matrix Dr of full
             row rank, preserving transmission zeros

    AB08NY   Construction of a reduced system with input/output matrix Dr of full
             row rank, preserving transmission zeros (extended variant)

    AB8NXZ   Construction of a reduced system with input/output matrix Dr of full
             row rank, preserving transmission zeros (complex case)

#### Model Reduction

    AB09AX   Balance & Truncate model reduction with state matrix in real Schur form

    AB09BX   Singular perturbation approximation based model reduction with state
             matrix in real Schur form

    AB09CX   Hankel norm approximation based model reduction with state matrix
             in real Schur form

    AB09HX   Stochastic balancing model reduction of stable systems

    AB09HY   Cholesky factors of the controllability and observability Grammians

    AB09IX   Accuracy enhanced balancing related model reduction

    AB09IY   Cholesky factors of the frequency-weighted controllability and
             observability Grammians

    AB09JV   State-space representation of a projection of a left weighted
             transfer-function matrix

    AB09JW   State-space representation of a projection of a right weighted
             transfer-function matrix

    AB09JX   Check stability/antistability of finite eigenvalues

    AB09KX   Stable projection of V*G*W or conj(V)*G*conj(W)

#### System Norms

    AB13AX   Hankel-norm of a stable system with state matrix in real Schur form

    AB13DX   Maximum singular value of a transfer-function matrix

### AG - Generalized State-Space Analysis

#### Poles, Zeros, Gain

    AG08BY   Construction of a reduced system with input/output matrix Dr of full
             row rank, preserving the finite Smith zeros

    AG8BYZ   Construction of a reduced system with input/output matrix Dr of full
             row rank, preserving the finite Smith zeros (complex case)

## B - Benchmark and Test Problems

## C - Adaptive Control

## D - Data Analysis

### DE - Covariances

### DF - Spectra

### DG - Discrete Fourier Transforms

### DK - Windowing

## F - Filtering

### FB - Kalman Filters

## I - Identification

### IB - Subspace Identification

#### Time Invariant State-space Systems

    IB01MD   Upper triangular factor in QR factorization of a
             block-Hankel-block matrix

    IB01MY   Upper triangular factor in fast QR factorization of a
             block-Hankel-block matrix

    IB01ND   Singular value decomposition giving the system order

    IB01OD   Estimating the system order

    IB01OY   User's confirmation of the system order

    IB01PD   Estimating the system matrices and covariances

    IB01PX   Estimating the matrices B and D of a system using Kronecker products

    IB01PY   Estimating the matrices B and D of a system exploiting the structure

    IB01QD   Estimating the initial state and the matrices B and D of a system

    IB01RD   Estimating the initial state of a system

## M - Mathematical Routines

### MA - Auxiliary Routines

#### Mathematical Scalar Routines

    MA01AD   Complex square root of a complex number in real arithmetic

    MA01BD   Safely computing the general product of K real scalars

    MA01BZ   Safely computing the general product of K complex scalars

    MA01CD   Safely computing the sign of a sum of two real numbers represented
             using integer powers of a base

#### Mathematical Vector/Matrix Routines

    MA02AD   Transpose of a matrix

    MA02AZ   (Conjugate) transpose of a complex matrix

    MA02BD   Reversing the order of rows and/or columns of a matrix

    MA02BZ   Reversing the order of rows and/or columns of a matrix (complex case)

    MA02CD   Pertranspose of the central band of a square matrix

    MA02CZ   Pertranspose of the central band of a square matrix (complex case)

    MA02DD   Pack/unpack the upper or lower triangle of a symmetric matrix

    MA02ED   Construct a triangle of a symmetric matrix, given the other triangle

    MA02ES   Construct a triangle of a skew-symmetric real matrix, given the
             other triangle

    MA02EZ   Construct a triangle of a (skew-)symmetric/Hermitian complex matrix,
             given the other triangle

    MA02FD   Hyperbolic plane rotation

    MA02GD   Column interchanges on a real matrix

    MA02GZ   Column interchanges on a complex matrix

    MA02HD   Check if a matrix is a scalar multiple of an identity-like matrix

    MA02HZ   Check if a complex matrix is a scalar multiple of an identity-like matrix

    MA02ID   Matrix 1-, Frobenius, or infinity norms of a skew-Hamiltonian matrix

    MA02IZ   Matrix 1-, Frobenius, or infinity norms of a complex skew-Hamiltonian matrix

    MA02JD   Test if a matrix is an orthogonal symplectic matrix

    MA02JZ   Test if a matrix is a unitary symplectic matrix

    MA02MD   Norms of a real skew-symmetric matrix

    MA02MZ   Norms of a complex skew-symmetric matrix

    MA02NZ   Two rows and columns permutation of a (skew-)symmetric/Hermitian
             complex matrix

    MA02OD   Number of zero rows of a real (skew-)Hamiltonian matrix

    MA02OZ   Number of zero rows of a complex (skew-)Hamiltonian matrix

    MA02PD   Number of zero rows and columns of a real matrix

    MA02PZ   Number of zero rows and columns of a complex matrix

    MB01KD   Rank 2k operation alpha*A*trans(B) - alpha*B*trans(A) + beta*C,
             with A and C skew-symmetric matrices

    MB01LD   Computation of matrix expression alpha*R + beta*A*X*trans(A) with
             skew-symmetric matrices R and X

    MB01MD   Matrix-vector operation alpha*A*x + beta*y, with A a skew-symmetric matrix

    MB01ND   Rank 2 operation alpha*x*trans(y) - alpha*y*trans(x) + A, with A a
             skew-symmetric matrix

    MB01SD   Rows and/or columns scaling of a matrix

    MB01SS   Symmetric scaling of a symmetric matrix

### MB - Linear Algebra

#### Basic Linear Algebra Manipulations

    MB01OC   Computation of matrix expression alpha R + beta ( op(H) X + X op(H)' )
             with R, X symmetric and H upper Hessenberg

    MB01OD   Computation of matrix expression alpha R + beta ( op(H) X op(E)' + op(E) X op(H)' )
             with R, X symmetric, H upper Hessenberg, and E upper triangular

    MB01OE   Computation of matrix expression alpha R + beta ( op(H) op(E)' + op(E) op(H)' )
              with R symmetric, H upper Hessenberg, and E upper triangular

    MB01OH   Computation of matrix expression alpha R + beta ( op(H) op(A)' + op(A) op(H)' )
             with R symmetric, and A, H upper Hessenberg

    MB01OO   Computation of P or P' with P = op(H) X op(E)' with X symmetric,
             H upper Hessenberg, and E upper triangular

    MB01OS   Computation of matrix expression P = H X or P = X H, with X symmetric and
             H upper Hessenberg

    MB01OT   Computation of matrix expression alpha R + beta ( op(E) op(T)' + op(T) op(E)' )
             with R symmetric and E, T upper triangular

    MB01RH   Computation of matrix expression alpha R + beta op(H) X op(H)'
             with R, X symmetric and H upper Hessenberg

    MB01RT   Computation of matrix expression alpha R + beta op(E) X op(E)'
             with R, X symmetric and E upper triangular

    MB01RU   Computation of matrix expression alpha*R + beta*A*X*trans(A)
             (MB01RD variant)

    MB01RW   Computation of matrix expression alpha*A*X*trans(A), X symmetric (BLAS 2)

    MB01RX   Computing a triangle of the matrix expressions alpha*R + beta*A*B
             or alpha*R + beta*B*A

    MB01RY   Computing a triangle of the matrix expressions alpha*R + beta*H*B
             or alpha*R + beta*B*H, with H an upper Hessenberg matrix

    MB01UW   Computation of matrix expressions alpha*H*A or alpha*A*H,
             overwritting A, with H an upper Hessenberg matrix

    MB01VD   Kronecker product of two matrices

    MB01XY   Computation of the product U'*U or L*L', with U and L upper and
             lower triangular matrices (unblock algorithm)

    SB03OV   Construction of a complex plane rotation to annihilate a real number,
             modifying a complex number

    SG03BY   Computing a complex plane rotation in real arithmetic

    SG03BR   Computing a complex plane rotation in real arithmetic (SG03BY version
             - adaptation of LAPACK ZLARTG)

#### Linear Equations and Least Squares

    MB02CU   Bringing the first blocks of a generator in proper form
             (extended version of MB02CX)

    MB02CV   Applying the MB02CU transformations on other columns / rows of
             the generator

    MB02CX   Bringing the first blocks of a generator in proper form

    MB02CY   Applying the MB02CX transformations on other columns / rows of
             the generator

    MB02NY   Separation of a zero singular value of a bidiagonal submatrix

    MB02QY   Minimum-norm least squares solution, given a rank-revealing
             QR factorization

    MB02UU   Solution of linear equations using LU factorization with complete pivoting

    MB02UV   LU factorization with complete pivoting

    MB02UW   Solution of linear equations of order at most 2 with possible scaling
             and perturbation of system matrix

    MB02WD   Solution of a positive definite linear system A*x = b, or f(A, x) = b,
             using conjugate gradient algorithm

    MB02XD   Solution of a set of positive definite linear systems, A'*A*X = B, or
             f(A)*X = B, using Gaussian elimination

    MB02YD   Solution of the linear system A*x = b, D*x = 0, D diagonal

#### Eigenvalues and Eigenvectors

    MB03AD   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector

    MB03AB   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant with explicit shifts)

    MB03AE   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant with partial evaluation,
             Hessenberg factor is the first one)

    MB03AF   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant, Hessenberg factor is the
             last one)

    MB03AG   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant with evaluation,
             Hessenberg factor is the first one)

    MB03AH   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant with partial evaluation,
             Hessenberg factor is the last one)

    MB03AI   Reducing the first column of a real Wilkinson shift polynomial for a
             product of matrices to the first unit vector (variant with evaluation,
             Hessenberg factor is the last one)

    MB03BA   Computing maps for Hessenberg index and signature array

    MB03BB   Eigenvalues of a 2-by-2 matrix product via a complex single shifted
             periodic QZ algorithm

    MB03BC   Product singular value decomposition of K-1 triangular factors of
             order 2

    MB03BD   Finding eigenvalues of a generalized matrix product in
             Hessenberg-triangular form

    MB03BE   Applying iterations of a real single shifted periodic QZ algorithm
             to a 2-by-2 matrix product

    MB03BF   Applying iterations of a real single shifted periodic QZ algorithm
             to a 2-by-2 matrix product, with Hessenberg factor the last one

    MB03BZ   Finding eigenvalues of a complex generalized matrix product in
             Hessenberg-triangular form

    MB03CD   Exchanging eigenvalues of a real 2-by-2, 3-by-3 or 4-by-4 block upper
             triangular pencil (factored version)

    MB03CZ   Exchanging eigenvalues of a complex 2-by-2 upper triangular pencil
             (factored version)

    MB03DD   Exchanging eigenvalues of a real 2-by-2, 3-by-3 or 4-by-4 block upper
             triangular pencil

    MB03DZ   Exchanging eigenvalues of a complex 2-by-2 upper triangular pencil

    MB03ED   Reducing a real 2-by-2 or 4-by-4 block (anti-)diagonal
             skew-Hamiltonian/Hamiltonian pencil to generalized Schur form and moving
             eigenvalues with negative real parts to the top (factored version)

    MB03FD   Reducing a real 2-by-2 or 4-by-4 block (anti-)diagonal
             skew-Hamiltonian/Hamiltonian pencil to generalized Schur form and moving
             eigenvalues with negative real parts to the top

    MB03GD   Exchanging eigenvalues of a real 2-by-2 or 4-by-4 block upper
             triangular skew-Hamiltonian/Hamiltonian pencil (factored version)

    MB03GZ   Exchanging eigenvalues of a complex 2-by-2 skew-Hamiltonian/
             Hamiltonian pencil in structured Schur form (factored version)

    MB03HD   Exchanging eigenvalues of a real 2-by-2 or 4-by-4 skew-Hamiltonian/
             Hamiltonian pencil in structured Schur form

    MB03HZ   Exchanging eigenvalues of a complex 2-by-2 skew-Hamiltonian/
             Hamiltonian pencil in structured Schur form

    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

    MB03JP   Moving eigenvalues with negative real parts of a real
             skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the
             leading subpencil (applying transformations on panels of columns)

    MB03JZ   Moving eigenvalues with negative real parts of a complex
             skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the
             leading subpencil

    MB3JZP   Moving eigenvalues with negative real parts of a complex
             skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the
             leading subpencil (applying transformations on panels of columns)

    MB03KA   Moving diagonal blocks at a specified position in a formal matrix
             product to another position

    MB03KB   Swapping pairs of adjacent diagonal blocks of sizes 1 and/or 2 in
             a formal matrix product

    MB03KC   Reducing a 2-by-2 formal matrix product to periodic
             Hessenberg-triangular form

    MB03KD   Reordering the diagonal blocks of a formal matrix product using
             periodic QZ algorithm

    MB03KE   Solving periodic Sylvester-like equations with matrices of order
             at most 2

    MB03NY   The smallest singular value of A - jwI

    MB03OY   Matrix rank determination by incremental condition estimation, during
             the pivoted QR factorization process

    MB3OYZ   Matrix rank determination by incremental condition estimation, during
             the pivoted QR factorization process (complex case)

    MB03PY   Matrix rank determination by incremental condition estimation, during
             the pivoted RQ factorization process (row pivoting)

    MB3PYZ   Matrix rank determination by incremental condition estimation, during
             the pivoted RQ factorization process (row pivoting, complex case)

    MB03QV   Eigenvalues of an upper quasi-triangular matrix pencil

    MB03QW   Standardization and eigenvalues of a 2-by-2 diagonal block pair of
             an upper quasi-triangular matrix pencil

    MB03QX   Eigenvalues of an upper quasi-triangular matrix

    MB03QY   Transformation to Schur canonical form of a selected 2-by-2 diagonal
             block of an upper quasi-triangular matrix

    MB03RX   Reordering the diagonal blocks of a principal submatrix of a real Schur
             form matrix

    MB03RY   Tentative solution of Sylvester equation -AX + XB = C (A, B in real
             Schur form)

    MB03RW   Tentative solution of Sylvester equation -AX + XB = C (A, B in complex
             Schur form)

    MB03TS   Swapping two diagonal blocks of a matrix in (skew-)Hamiltonian
             canonical Schur form

    MB03VY   Generating orthogonal matrices for reduction to periodic
             Hessenberg form of a product of matrices

    MB03WA   Swapping two adjacent diagonal blocks in a periodic real Schur canonical form

    MB03WX   Eigenvalues of a product of matrices, T = T_1*T_2*...*T_p,
             with T_1 upper quasi-triangular and T_2, ..., T_p upper triangular

    MB03XS   Eigenvalues and real skew-Hamiltonian Schur form of a skew-Hamiltonian matrix

    MB03XU   Panel reduction of columns and rows of a real (k+2n)-by-(k+2n) matrix by
             orthogonal symplectic transformations

    MB03YA   Annihilation of one or two entries on the subdiagonal of a Hessenberg matrix
             corresponding to zero elements on the diagonal of a triangular matrix

    MB03YT   Periodic Schur factorization of a real 2-by-2 matrix pair (A,B)
             with B upper triangular

    MB03ZA   Reordering a selected cluster of eigenvalues of a given matrix pair in
             periodic Schur form

    MB05MY   Computing an orthogonal matrix reducing a matrix to real Schur form T,
             the eigenvalues, and the upper triangular matrix of right eigenvectors
             of T

    MB05OY   Restoring a matrix after balancing transformations

#### Decompositions and Transformations

    MB04CD   Reducing a special real block (anti-)diagonal skew-Hamiltonian/
             Hamiltonian pencil in factored form to generalized Schur form

    MB04DB   Applying the inverse of a balancing transformation for a real
             skew-Hamiltonian/Hamiltonian matrix pencil

    MB4DBZ   Applying the inverse of a balancing transformation for a complex
             skew-Hamiltonian/Hamiltonian matrix pencil

    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 Hamiltonian matrix

    MB04HD   Reducing a special real block (anti-)diagonal skew-Hamiltonian/
             Hamiltonian pencil to generalized Schur form

    MB04IY   Applying the product of elementary reflectors used for QR factorization
             of a matrix having a lower left zero triangle

    MB04NY   Applying an elementary reflector to a matrix C = ( A  B ), from the right,
             where A has one column

    MB04OY   Applying an elementary reflector to a matrix C = ( A'  B' )', from the
             left, where A has one row

    MB04OW   Rank-one update of a Cholesky factorization for a 2-by-2 block matrix

    MB04OX   Rank-one update of a Cholesky factorization

    MB04PA   Special reduction of a (skew-)Hamiltonian like matrix

    MB04PU   Computation of the Paige/Van Loan (PVL) form of a Hamiltonian matrix
             (unblocked algorithm)

    MB04PY   Applying an elementary reflector to a matrix from the left or right

    MB04QB   Applying a product of symplectic reflectors and Givens rotations 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

    MB04QS   Multiplication with a product of symplectic reflectors and Givens rotations

    MB04QU   Applying a product of symplectic reflectors and Givens rotations to two
             general real matrices (unblocked algorithm)

    MB04RB   Reduction of a skew-Hamiltonian matrix to Paige/Van Loan (PVL) form
             (blocked version)

    MB04RU   Reduction of a skew-Hamiltonian matrix to Paige/Van Loan (PVL) form
             (unblocked version)

    MB04SU   Symplectic QR decomposition of a real 2M-by-N matrix

    MB04TS   Symplectic URV decomposition of a real 2N-by-2N matrix (unblocked version)

    MB04TU   Applying a row-permuted Givens transformation to two row vectors

    MB04WD   Generating an orthogonal basis spanning an isotropic subspace

    MB04WP   Generating an orthogonal symplectic matrix which performed the reduction
             in MB04PU

    MB04WR   Generating orthogonal symplectic matrices defined as products of symplectic
             reflectors and Givens rotations

    MB04WU   Generating an orthogonal basis spanning an isotropic subspace
             (unblocked version)

    MB04XY   Applying Householder transformations for bidiagonalization (stored
             in factored form) to one or two matrices, from the left

    MB04YW   One QR or QL iteration step onto an unreduced bidiagonal submatrix
             of a bidiagonal matrix

### MC - Polynomial and Rational Function Manipulation

#### Scalar Polynomials

    MC01PY   Coefficients of a real polynomial, stored in decreasing order,
             given its zeros

#### Polynomial Matrices

    MC03NX   Construction of a pencil sE-A related to a given polynomial matrix

### MD - Optimization

#### Unconstrained Nonlinear Least Squares

    MD03BX   QR factorization with column pivoting and error vector
             transformation

    MD03BY   Finding the Levenberg-Marquardt parameter

## N - Nonlinear Systems

### NF - Wiener Systems

#### Wiener Systems Identification

    NF01AD   Computing the output of a Wiener system

    NF01AY   Computing the output of a set of neural networks

    NF01BD   Computing the Jacobian of a Wiener system

    NF01BP   Finding the Levenberg-Marquardt parameter

    NF01BQ   Solution of the linear system J*x = b, D*x = 0, D diagonal

    NF01BR   Solution of the linear system op(R)*x = b, R block upper
             triangular stored in a compressed form

    NF01BS   QR factorization of a structured Jacobian matrix

    NF01BU   Computing J'*J + c*I, for the Jacobian J given in a
             compressed form

    NF01BV   Computing J'*J + c*I, for a full Jacobian J (one output
             variable)

    NF01BW   Matrix-vector product x <-- (J'*J + c*I)*x, for J in a
             compressed form

    NF01BX   Matrix-vector product x <-- (A'*A + c*I)*x, for a
             full matrix A

    NF01BY   Computing the Jacobian of the error function for a neural
             network (for one output variable)

## S - Synthesis Routines

### SB - State-Space Synthesis

#### Eigenvalue/Eigenvector Assignment

    SB01BX   Choosing the closest real (complex conjugate) eigenvalue(s) to
             a given real (complex) value

    SB01BY   Pole placement for systems of order 1 or 2

    SB01FY   Inner denominator of a right-coprime factorization of an unstable system
             of order 1 or 2

#### Riccati Equations

    SB02MU   Constructing the 2n-by-2n Hamiltonian or symplectic matrix for
             linear-quadratic optimization problems

    SB02RU   Constructing the 2n-by-2n Hamiltonian or symplectic matrix for
             linear-quadratic optimization problems (efficient and accurate
             version of SB02MU)

    SB02OY   Constructing and compressing the extended Hamiltonian or symplectic
             matrix pairs for linear-quadratic optimization problems

#### Lyapunov Equations

    SB03MV   Solving a discrete-time Lyapunov equation for a 2-by-2 matrix

    SB03MW   Solving a continuous-time Lyapunov equation for a 2-by-2 matrix

    SB03MX   Solving a discrete-time Lyapunov equation with matrix A quasi-triangular

    SB03MY   Solving a continuous-time Lyapunov equation with matrix A quasi-triangular

    SB03OT   Solving (for Cholesky factor) stable continuous- or discrete-time
             Lyapunov equations, with A quasi-triangular and R triangular

    SB03OS   Solving (for Cholesky factor) stable continuous- or discrete-time
             complex Lyapunov equations, with matrices S and R triangular

    SB03OU   Solving (for Cholesky factor) stable continuous- or discrete-time
             Lyapunov equations, with A in real Schur form and B rectangular

    SB03OY   Solving (for Cholesky factor) stable 2-by-2 continuous- or discrete-time
             Lyapunov equations, with matrix A having complex conjugate eigenvalues

    SB03QX   Forward error bound for continuous-time Lyapunov equations

    SB03QY   Separation and Theta norm for continuous-time Lyapunov equations

    SB03SX   Forward error bound for discrete-time Lyapunov equations

    SB03SY   Separation and Theta norm for discrete-time Lyapunov equations

#### Sylvester Equations

    SB03MU   Solving a discrete-time Sylvester equation for an m-by-n matrix X,
             1 <= m,n <= 2

    SB03OR   Solving quasi-triangular continuous- or discrete-time Sylvester equations,
             for an n-by-m matrix X, 1 <= m <= 2

    SB04MR   Solving a linear algebraic system whose coefficient matrix (stored
             compactly) has zeros below the second subdiagonal

    SB04MU   Constructing and solving a linear algebraic system whose coefficient
             matrix (stored compactly) has zeros below the second subdiagonal

    SB04MW   Solving a linear algebraic system whose coefficient matrix (stored
             compactly) has zeros below the first subdiagonal

    SB04MY   Constructing and solving a linear algebraic system whose coefficient
             matrix (stored compactly) has zeros below the first subdiagonal

    SB04NV   Constructing right-hand sides for a system of equations in
             Hessenberg form solved via SB04NX

    SB04NW   Constructing the right-hand side for a system of equations in
             Hessenberg form solved via SB04NY

    SB04NX   Solving a system of equations in Hessenberg form with two consecutive
             offdiagonals and two right-hand sides

    SB04NY   Solving a system of equations in Hessenberg form with one offdiagonal
             and one right-hand side

    SB04OW   Solving a periodic Sylvester equation with matrices in periodic Schur form

    SB04PX   Solving a discrete-time Sylvester equation for matrices of order <= 2

    SB04PY   Solving a discrete-time Sylvester equation with matrices in Schur form

    SB04QR   Solving a linear algebraic system whose coefficient matrix (stored
             compactly) has zeros below the third subdiagonal

    SB04QU   Constructing and solving a linear algebraic system whose coefficient
             matrix (stored compactly) has zeros below the third subdiagonal

    SB04QY   Constructing and solving a linear algebraic system whose coefficient
             matrix (stored compactly) has zeros below the first subdiagonal
             (discrete-time case)

    SB04RV   Constructing right-hand sides for a system of equations in
             Hessenberg form solved via SB04RX

    SB04RW   Constructing the right-hand side for a system of equations in
             Hessenberg form solved via SB04RY

    SB04RX   Solving a system of equations in Hessenberg form with two consecutive
             offdiagonals and two right-hand sides (discrete-time case)

    SB04RY   Solving a system of equations in Hessenberg form with one offdiagonal
             and one right-hand side (discrete-time case)

#### Optimal Regulator Problems

    SB10JD    Conversion of a descriptor state-space system into regular
              state-space form

    SB10LD    Closed-loop system matrices for a system with robust controller

    SB10PD    Normalization of a system for H-infinity controller design

    SB10QD    State feedback and output injection matrices for an H-infinity
              (sub)optimal state controller (continuous-time)

    SB10RD    H-infinity (sub)optimal controller matrices using state feedback
              and output injection matrices (continuous-time)

    SB10SD    H2 optimal controller matrices for a normalized discrete-time system

    SB10TD    H2 optimal controller matrices for a discrete-time system

    SB10UD    Normalization of a system for H2 controller design

    SB10VD    State feedback and output injection matrices for an H2 optimal
              state controller (continuous-time)

    SB10WD    H2 optimal controller matrices using state feedback and
              output injection matrices (continuous-time)

    SB10YD    Fitting frequency response data with a stable, minimum phase
              SISO system

    SB10ZP    Transforming a SISO system into a stable and minimum phase one

#### Controller Reduction

    SB16AY    Cholesky factors of the frequency-weighted controllability and
              observability Grammians for controller reduction

    SB16CY    Cholesky factors of controllability and observability Grammians
              of coprime factors of a state-feedback controller

### SG - Generalized State-Space Synthesis

#### Generalized Lyapunov Equations

    SG02CV   Computation of residual matrix for a continuous-time or discrete-time
             reduced Lyapunov equation

    SG03AX   Solving a generalized discrete-time Lyapunov equation with
             A quasi-triangular and E upper triangular

    SG03AY   Solving a generalized continuous-time Lyapunov equation with
             A quasi-triangular and E upper triangular

    SG03BU   Solving (for Cholesky factor) stable generalized discrete-time
             Lyapunov equations with A quasi-triangular, and E, B upper triangular

    SG03BS   Solving (for Cholesky factor) stable generalized discrete-time
             complex Lyapunov equations with A, E, and B upper triangular

    SG03BV   Solving (for Cholesky factor) stable generalized continuous-time
             Lyapunov equations with A quasi-triangular, and E, B upper triangular

    SG03BT   Solving (for Cholesky factor) stable generalized continuous-time
             complex Lyapunov equations with A, E, and B upper triangular

    SG03BX   Solving (for Cholesky factor) stable generalized 2-by-2 Lyapunov equations

#### Generalized Sylvester Equations

    SG03BW   Solving a generalized Sylvester equation with A quasi-triangular
             and E upper triangular, for X m-by-n, n = 1 or 2

## T - Transformation Routines

### TB - State-Space

#### State-Space Transformations

    TB01KX   Additive spectral decomposition of the transfer-function matrix of a standard system

    TB01UX   Observable-unobservable decomposition of a standard system

    TB01VD   Conversion of a discrete-time system to output normal form

    TB01VY   Conversion of the output normal form of a discrete-time system
             to a state-space representation

    TB01XD   Special similarity transformation of the dual state-space system

    TB01XZ   Special similarity transformation of the dual state-space system
             (complex case)

    TB01YD   Special similarity transformation of a state-space system

#### State-Space to Rational Matrix Conversion

    TB04BV   Strictly proper part of a proper transfer function matrix

    TB04BW   Sum of a rational matrix and a real matrix

    TB04BX   Gain of a SISO linear system, given (A,b,c,d), its poles and zeros

### TC - Polynomial Matrix

### TD - Rational Matrix

### TF - Time Response

    TF01MX   Output response of a linear discrete-time system, given a
             general system matrix (each output is a column of the result)

    TF01MY   Output response of a linear discrete-time system, given the
             system matrices (each output is a column of the result)

### TG - Generalized State-space

#### Generalized State-space Transformations

    TG01HU   Staircase controllability representation of a multi-input descriptor system

    TG01HX   Orthogonal reduction of a descriptor system to a system with
             the same transfer-function matrix and without uncontrollable finite
             eigenvalues

    TG01HY   Orthogonal reduction of a descriptor system to a system with
             the same transfer-function matrix and without uncontrollable finite
             eigenvalues (blocked version)

    TG01KD   Orthogonal equivalence transformation of a SISO descriptor system
             with E upper triangular (TG01OA version with more complex interface)

    TG01KZ   Unitary equivalence transformation of a complex SISO descriptor system
             with E upper triangular (TG01OB version with more complex interface)

    TG01LY   Finite-infinite decomposition of a structured descriptor system

    TG01NX   Block-diagonal decomposition of a descriptor system in
             generalized real Schur form

    TG01OA   Orthogonal equivalence transformation of a SISO descriptor system
             with E upper triangular, so that B becomes parallel to the first unit vector
             and E keeps its structure

    TG01OB   Unitary equivalence transformation of a complex SISO descriptor system
             with E upper triangular, so that B becomes parallel to the first unit vector
             and E keeps its structure

## U - Utility Routines

### UD - Numerical Data Handling