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
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
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
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 
MA02FD   Hyperbolic plane rotation 
MA02GD   Column interchanges on the matrix 
MA02HD   Check if a matrix is a scalar multiple of an identity-like matrix
MA02ID   Matrix 1-, Frobenius, or infinity norms of a skew-Hamiltonian matrix
MA02JD   Test if a matrix is an orthogonal symplectic 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 
MB - Linear Algebra
Basic Linear Algebra Manipulations
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 
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
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 10 iterations of a real single shifted periodic QZ algorithm 
         to a 2-by-2 matrix product
MB03CD   Exchanging eigenvalues of a real 2-by-2, 3-by-3 or 4-by-4 block 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
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)
MB03HD   Exchanging eigenvalues of a real 2-by-2 or 4-by-4 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)
MB03JD   Moving eigenvalues with negative real parts of a real 
         skew-Hamiltonian/Hamiltonian pencil in structured Schur form to the 
         leading subpencil
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) 
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)
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 
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
MB04DD   Balancing a real 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
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 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
MB04QU   Applying a product of symplectic reflectors and Givens rotators to two 
         general real matrices (unblocked algorithm)
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 rotators
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
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
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
SG03BV   Solving (for Cholesky factor) stable generalized continuous-time 
         Lyapunov equations with A quasi-triangular, and E, 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
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
TG01HX   Orthogonal reduction of a descriptor system to a system with
         the same transfer-function matrix and without uncontrollable finite 
         eigenvalues
U - Utility Routines
UD - Numerical Data Handling