SLICOT LIBRARY 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 Supporting Routines Index


A - Analysis Routines

AB - State-Space Analysis

Canonical and Quasi Canonical Forms


AB01MD   Orthogonal controllability form for single-input system

AB01ND   Orthogonal controllability staircase form for multi-input system

AB01OD   Staircase form for multi-input system using orthogonal transformations

Continuous/Discrete Time


AB04MD   Discrete-time <-> continuous-time conversion by bilinear transformation

Interconnections of Subsystems


AB05MD   Cascade inter-connection of two systems in state-space form

AB05ND   Feedback inter-connection of two systems in state-space form

AB05OD   Rowwise concatenation of two systems in state-space form

AB05PD   Parallel inter-connection of two systems in state-space form

AB05QD   Appending two systems in state-space form

AB05RD   Closed-loop system for a mixed output and state feedback control law

AB05SD   Closed-loop system for an output feedback control law

Inverse and Dual Systems


AB07MD   Dual of a given state-space representation

AB07ND   Inverse of a given state-space representation

Poles, Zeros, Gain


AB08MD   Normal rank of the transfer-function matrix of a state space model

AB08MZ   Normal rank of the transfer-function matrix of a state space model (complex case)

AB08ND   System zeros and Kronecker structure of system pencil

AB08NW   System zeros and singular and infinite Kronecker structure of system pencil

AB08NZ   System zeros and Kronecker structure of system pencil (complex case)

Model Reduction


AB09AD   Balance & Truncate model reduction   

AB09BD   Singular perturbation approximation based model reduction 

AB09CD   Hankel norm approximation based model reduction 

AB09DD   Singular perturbation approximation formulas 

AB09ED   Hankel norm approximation based model reduction of unstable systems

AB09FD   Balance & Truncate model reduction of coprime factors

AB09GD   Singular perturbation approximation of coprime factors

AB09HD   Stochastic balancing based model reduction

AB09ID   Frequency-weighted model reduction based on balancing techniques

AB09JD   Frequency-weighted Hankel norm approximation with invertible weights

AB09KD   Frequency-weighted Hankel-norm approximation

AB09MD   Balance & Truncate model reduction for the stable part  

AB09ND   Singular perturbation approximation based model reduction for the   
         stable part  

System Norms


AB13AD   Hankel-norm of the stable projection   

AB13BD   H2 or L2 norm of a system 

AB13CD   H-infinity norm of a continuous-time stable system
         (obsolete, replaced by AB13DD)

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 of the transfer function matrix of a descriptor system

AB13MD   Upper bound on the structured singular value for a square 
         complex matrix

AG - Generalized State-Space Analysis

Inverse and Dual Systems


AG07BD   Descriptor inverse of a state-space or descriptor representation

Poles, Zeros, Gain


AG08BD   Zeros and Kronecker structure of a descriptor system pencil

AG08BZ   Zeros and Kronecker structure of a descriptor system pencil (complex case)

B - Benchmark and Test Problems

BB - State-space Models


BB01AD   Benchmark examples for continuous-time Riccati equations

BB02AD   Benchmark examples for discrete-time Riccati equations

BB03AD   Benchmark examples of (generalized) continuous-time Lyapunov equations

BB04AD   Benchmark examples of (generalized) discrete-time Lyapunov equations

BD - Generalized State-space Models


BD01AD   Benchmark examples of continuous-time systems

BD02AD   Benchmark examples of discrete-time systems

C - Adaptive Control


D - Data Analysis

DE - Covariances


DE01OD   Convolution or deconvolution of two signals

DE01PD   Convolution or deconvolution of two real signals using Hartley transform

DF - Spectra


DF01MD   Sine transform or cosine transform of a real signal

DG - Discrete Fourier and Hartley Transforms


DG01MD   Discrete Fourier transform of a complex signal

DG01ND   Discrete Fourier transform of a real signal

DG01OD   Scrambled discrete Hartley transform of a real signal

DK - Windowing


DK01MD   Anti-aliasing window applied to a real signal

F - Filtering

FB - Kalman Filters


FB01QD   Time-varying square root covariance filter (dense matrices)

FB01RD   Time-invariant square root covariance filter (Hessenberg form) 

FB01SD   Time-varying square root information filter (dense matrices)

FB01TD   Time-invariant square root information filter (Hessenberg form) 

FB01VD   One recursion of the conventional Kalman filter 

FD - Fast Recursive Least Squares Filters


FD01AD   Fast recursive least-squares filter

I - Identification

IB - Subspace Identification

Time Invariant State-space Systems


IB01AD   Input-output data preprocessing and finding the system order

IB01BD   Estimating the system matrices, covariances, and Kalman gain

IB01CD   Estimating the initial state and the system matrices B and D

Wiener Systems


IB03AD   Estimating a Wiener system by a Levenberg-Marquardt algorithm
         (Cholesky-based or conjugate gradients solver)

IB03BD   Estimating a Wiener system by a MINPACK-like Levenberg-Marquardt
         algorithm

M - Mathematical Routines

MB - Linear Algebra

Basic Linear Algebra Manipulations


MB01PD   Matrix scaling (higher level routine)

MB01QD   Matrix scaling (lower level routine)

MB01RB   Computation of a triangle of matrix expression alpha*R + beta*A*B 
         or alpha*R + beta*B*A ( BLAS 3 version)

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

MB01TD   Product of two upper quasi-triangular matrices 

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

MB01UX   Computation of matrix expressions alpha*T*A or alpha*A*T, T quasi-triangular

MB01WD   Residuals of Lyapunov or Stein equations for Cholesky factored 
         solutions

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

MB01YD   Symmetric rank k operation C := alpha*A*A' + beta*C, C symmetric

MB01ZD   Computation of matrix expressions H := alpha*T*H, or H := alpha*H*T,
         with H Hessenberg-like, T triangular

Linear Equations and Least Squares


MB02CD   Cholesky factorization of a positive definite block Toeplitz matrix

MB02DD   Updating Cholesky factorization of a positive definite block 
         Toeplitz matrix

MB02ED   Solution of T*X = B or X*T = B, with T a positive definite
         block Toeplitz matrix

MB02FD   Incomplete Cholesky factor of a positive definite block Toeplitz matrix

MB02GD   Cholesky factorization of a banded symmetric positive definite
         block Toeplitz matrix

MB02HD   Cholesky factorization of the matrix T'*T, with T a banded
         block Toeplitz matrix of full rank

MB02ID   Solution of over- or underdetermined linear systems 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   Computation of the product C = alpha*op( T )*B + beta*C, with T
         a block Toeplitz matrix

MB02MD   Solution of Total Least-Squares problem using a SVD approach

MB02ND   Solution of Total Least-Squares problem using a partial SVD approach

MB02OD   Solution of op(A)*X = alpha*B, or X*op(A) = alpha*B, A triangular 

MB02PD   Solution of matrix equation op(A)*X = B, with error bounds 
         and condition estimates

MB02QD   Solution, optionally corresponding to specified free elements, 
         of a linear least squares problem

MB02RD   Solution of a linear system with upper Hessenberg matrix

MB02RZ   Solution of a linear system with complex upper Hessenberg matrix

MB02SD   LU factorization of an upper Hessenberg matrix

MB02SZ   LU factorization of a complex upper Hessenberg matrix

MB02TD   Condition number of an upper Hessenberg matrix

MB02TZ   Condition number of a complex upper Hessenberg matrix

MB02UD   Minimum norm least squares solution of op(R)*X = B, or X*op(R) = B,
         using singular value decomposition (R upper triangular)

MB02VD   Solution of X*op(A) = B

Eigenvalues and Eigenvectors


MB03LF   Eigenvalues and right deflating subspace of a real 
         skew-Hamiltonian/Hamiltonian pencil in factored form

MB03FZ   Eigenvalues and right deflating subspace of a complex 
         skew-Hamiltonian/Hamiltonian pencil in factored form

MB03LD   Eigenvalues and right deflating subspace of a real 
         skew-Hamiltonian/Hamiltonian pencil

MB03LP   Eigenvalues and right deflating subspace of a real 
         skew-Hamiltonian/Hamiltonian pencil (applying transformations on panels of columns)

MB03LZ   Eigenvalues and right deflating subspace of a complex 
         skew-Hamiltonian/Hamiltonian pencil

MB3LZP   Eigenvalues and right deflating subspace of a complex 
         skew-Hamiltonian/Hamiltonian pencil (applying transformations on panels of columns)

MB03MD   Upper bound for L singular values of a bidiagonal matrix

MB03ND   Number of singular values of a bidiagonal matrix less than a bound

MB03OD   Matrix rank determination by incremental condition estimation

MB03PD   Matrix rank determination (row pivoting)

MB03QD   Reordering of the diagonal blocks of a real Schur matrix

MB03QG   Reordering of the diagonal blocks of principal subpencil of 
         a real Schur-triangular matrix pencil

MB03RD   Reduction of a real Schur matrix to a block-diagonal form

MB03SD   Eigenvalues of a square-reduced Hamiltonian matrix

MB03TD   Reordering the diagonal blocks of a matrix in (skew-)Hamiltonian Schur form

MB03UD   Singular value decomposition of an upper triangular matrix

MB03VD   Periodic Hessenberg form of a product of matrices

MB03WD   Periodic Schur decomposition and eigenvalues of a product of
         matrices in periodic Hessenberg form

MB03XD   Eigenvalues of a Hamiltonian matrix

MB03XZ   Eigenvalues of a complex Hamiltonian matrix

MB03XP   Periodic Schur decomposition and eigenvalues of a matrix product A*B, 
         A upper Hessenberg and B upper triangular

MB03YD   Periodic QR iteration

MB03ZD   Stable and unstable invariant subspaces for a dichotomic Hamiltonian matrix

Decompositions and Transformations


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

MB04BP   Eigenvalues and orthogonal decomposition of a real 
         skew-Hamiltonian/Hamiltonian pencil (applying transformations on panels of columns)

MB04BZ   Eigenvalues of a complex skew-Hamiltonian/Hamiltonian pencil

MB04DL   Balancing a real matrix pencil, optionally avoiding large 
         norms for the scaled (sub)matrices

MB4DLZ   Balancing a complex matrix pencil, optionally avoiding large 
         norms for the scaled (sub)matrices 

MB04DP   Balancing a real skew-Hamiltonian/Hamiltonian matrix pencil, 
         optionally avoiding large norms for the scaled (sub)matrices

MB4DPZ   Balancing a complex skew-Hamiltonian/Hamiltonian matrix pencil, 
         optionally avoiding large norms for the scaled (sub)matrices

MB04ED   Eigenvalues and orthogonal decomposition of a real 
         skew-Hamiltonian/skew-Hamiltonian pencil in factored form

MB04FD   Eigenvalues and orthogonal decomposition of a real 
         skew-Hamiltonian/skew-Hamiltonian pencil

MB04FP   Eigenvalues and orthogonal decomposition of a real 
         skew-Hamiltonian/skew-Hamiltonian pencil (applying transformations on panels of columns)

MB04GD   RQ factorization of a matrix with row pivoting

MB04ID   QR factorization of a matrix with a lower left zero triangle

MB04IZ   QR factorization of a matrix with a lower left zero triangle (complex case)

MB04JD   LQ factorization of a matrix with an upper right zero triangle

MB04KD   QR factorization of a special structured block matrix

MB04LD   LQ factorization of a special structured block matrix

MB04MD   Balancing a general real matrix

MB04ND   RQ factorization of a special structured block matrix

MB04OD   QR factorization of a special structured block matrix (variant)

MB04PB   Paige/Van Loan form of a Hamiltonian matrix

MB04TB   Symplectic URV decomposition of a real 2N-by-2N matrix

MB04UD   Unitary column echelon form for a rectangular matrix 

MB04VD   Upper block triangular form for a rectangular pencil

MB04XD   Basis for left/right null singular subspace of a matrix  

MB04YD   Partial diagonalization of a bidiagonal matrix  

MB04ZD   Transforming a Hamiltonian matrix into a square-reduced form  

Matrix Functions


MB05MD   Matrix exponential for a real non-defective matrix 

MB05ND   Matrix exponential and integral for a real matrix 

MB05OD   Matrix exponential for a real matrix, with accuracy estimate

MC - Polynomial and Rational Function Manipulation

Scalar Polynomials


MC01MD   The leading coefficients of the shifted polynomial  

MC01ND   Value of a real polynomial at a given complex point  

MC01OD   Coefficients of a complex polynomial, given its zeros  

MC01PD   Coefficients of a real polynomial, given its zeros  

MC01QD   Quotient and remainder polynomials for polynomial division 

MC01RD   Polynomial operation P(x) = P1(x) P2(x) + alpha P3(x)  

MC01SD   Scaling coefficients of a real polynomial for minimal variation  

MC01TD   Checking stability of a given real polynomial  

MC01VD   Roots of a quadratic equation with real coefficients  

MC01WD   Quotient and remainder polynomials for a quadratic denominator  

MC01XD   Roots of a third order polynomial  

Polynomial Matrices


MC03MD   Real polynomial matrix operation P(x) = P1(x) P2(x) + alpha P3(x)  

MC03ND   Minimal polynomial basis for the right nullspace of a polynomial matrix  

MD - Optimization

Unconstrained Nonlinear Least Squares


MD03AD   Levenberg-Marquardt algorithm (Cholesky-based or conjugate
         gradients solver)

MD03BD   Enhanced MINPACK-like Levenberg-Marquardt algorithm 

N - Nonlinear Systems

NI - Interfaces to Nonlinear Solvers

ODE and DAE Solvers


DAESolver    Interface to DAE Solvers

ODESolver    Interface to ODE Solvers

Nonlinear Equation Solvers


KINSOL    Interface to KINSOL solver for nonlinear systems of equations

Nonlinear Optimization Solvers


FSQP    Interface to FSQP solver for nonlinear optimization

S - Synthesis Routines

SB - State-Space Synthesis

Eigenvalue/Eigenvector Assignment


SB01BD    Pole assignment for a given matrix pair (A,B)

SB01DD    Eigenstructure assignment for a controllable matrix pair (A,B) in
          orthogonal canonical form

SB01MD    State feedback matrix of a time-invariant single-input system

Riccati Equations


SB02MD    Solution of algebraic Riccati equations (Schur vectors method)

SB02MT    Conversion of problems with coupling terms to standard problems

SB02MX    Conversion of problems with coupling terms to standard problems
          (more flexibility)

SB02ND    Optimal state feedback matrix for an optimal control problem

SB02OD    Solution of algebraic Riccati equations (generalized Schur method)

SB02PD    Solution of continuous algebraic Riccati equations (matrix sign 
          function method) with condition and forward error bound estimates

SB02QD    Condition and forward error for continuous Riccati equation solution

SB02RD    Solution of algebraic Riccati equations (refined Schur vectors method) 
          with condition and forward error bound estimates

SB02SD    Condition and forward error for discrete Riccati equation solution

Lyapunov Equations


SB03MD    Solution of Lyapunov equations and separation estimation

SB03OD    Solution of stable Lyapunov equations (Cholesky factor)

SB03PD    Solution of discrete Lyapunov equations and separation estimation

SB03QD    Condition and forward error for continuous Lyapunov equations

SB03RD    Solution of continuous Lyapunov equations and separation estimation

SB03SD    Condition and forward error for discrete Lyapunov equations

SB03TD    Solution of continuous Lyapunov equations, condition and forward error 
          estimation

SB03UD    Solution of discrete Lyapunov equations, condition and forward error 
          estimation

Sylvester Equations


SB04MD    Solution of continuous Sylvester equations (Hessenberg-Schur method)

SB04ND    Solution of continuous Sylvester equations (one matrix in Schur form)

SB04OD    Solution of generalized Sylvester equations with separation estimation

SB04PD    Solution of continuous or discrete Sylvester equations (Schur method)

SB04QD    Solution of discrete Sylvester equations (Hessenberg-Schur method)

SB04RD    Solution of discrete Sylvester equations (one matrix in Schur form)

Deadbeat Control


SB06ND    Minimum norm deadbeat control state feedback matrix 

Transfer Matrix Factorization


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

SB08MD    Spectral factorization of polynomials (continuous-time case)

SB08ND    Spectral factorization of polynomials (discrete-time case)

Realization Methods


SB09MD    Closeness of two multivariable sequences

Optimal Regulator Problems


SB10AD    H-infinity optimal controller using modified Glover's and Doyle's
          formulas (continuous-time)

SB10DD    H-infinity (sub)optimal state controller for a discrete-time system

SB10ED    H2 optimal state controller for a discrete-time system

SB10FD    H-infinity (sub)optimal state controller for a continuous-time system

SB10HD    H2 optimal state controller for a continuous-time system

SB10MD    D-step in the D-K iteration for continuous-time case

SB10ID    Positive feedback controller for a continuous-time system

SB10KD    Positive feedback controller for a discrete-time system

SB10ZD    Positive feedback controller for a discrete-time system (D <> 0)

Controller Reduction


SB16AD    Stability/performance enforcing frequency-weighted controller reduction

SB16BD    Coprime factorization based state feedback controller reduction

SB16CD    Coprime factorization based frequency-weighted state feedback 
          controller reduction

SG - Generalized State-Space Synthesis

Riccati Equations


SG02AD    Solution of algebraic Riccati equations for descriptor systems

SG02CW    Residual of continuous- or discrete-time (generalized) algebraic
          Riccati equations

SG02CX    Line search parameter minimizing the residual of (generalized) 
          continuous- or discrete-time algebraic Riccati equations

SG02ND    Optimal state feedback matrix for an optimal control problem

Generalized Lyapunov Equations


SG03AD    Solution of generalized Lyapunov equations and separation estimation

SG03BD    Solution of stable generalized Lyapunov equations (Cholesky factor)

T - Transformation Routines

TB - State-Space

State-Space Transformations


TB01ID   Balancing a system matrix for a given triplet

TB01IZ   Balancing a system matrix for a given triplet (complex case)

TB01KD   Additive spectral decomposition of a state-space system 

TB01LD   Spectral separation of a state-space system

TB01MD   Upper/lower controller Hessenberg form

TB01ND   Upper/lower observer Hessenberg form 

TB01PD   Minimal, controllable or observable block Hessenberg realization 

TB01PX   Minimal, controllable or observable block Hessenberg realization (variant)

TB01TD   Balancing state-space representation by permutations and scalings

TB01UD   Controllable block Hessenberg realization for a state-space representation

TB01UY   Controllable block Hessenberg realization for a standard multi-input system

TB01WD   Reduction of the state dynamics matrix to real Schur form 

TB01WX   Orthogonal similarity transformation of a standard system to one 
         with state matrix in a Hessenberg form

TB01ZD   Controllable realization for single-input systems 

State-Space to Polynomial Matrix Conversion


TB03AD   Left/right polynomial matrix representation of a state-space representation

State-Space to Rational Matrix Conversion


TB04AD   Transfer matrix of a state-space representation  

TB04BD   Transfer matrix of a state-space representation, using the pole-zeros method

TB04CD   Transfer matrix of a state-space representation in the pole-zero-gain form 

State-Space to Frequency Response


TB05AD   Frequency response matrix of a state-space representation 

TC - Polynomial Matrix

Polynomial Matrix Transformations


TC01OD   Dual of a left/right polynomial matrix representation

Polynomial Matrix to State-Space Conversion


TC04AD   State-space representation for left/right polynomial matrix representation

Polynomial Matrix to Frequency Response


TC05AD   Transfer matrix of a left/right polynomial matrix representation

TD - Rational Matrix

Rational Matrix to Polynomial Matrix Conversion


TD03AD   Left/right polynomial matrix representation for a proper transfer matrix

Rational Matrix to State-Space Conversion


TD04AD   Minimal state-space representation for a proper transfer matrix 

Rational Matrix to Frequency Response


TD05AD   Evaluation of a transfer function for a specified frequency 

TF - Time Response


TF01MD   Output response of a linear discrete-time system

TF01ND   Output response of a linear discrete-time system (Hessenberg matrix)

TF01OD   Block Hankel expansion of a multivariable parameter sequence

TF01PD   Block Toeplitz expansion of a multivariable parameter sequence

TF01QD   Markov parameters of a system from transfer function matrix

TF01RD   Markov parameters of a system from state-space representation

TG - Generalized State-space

Generalized State-space Transformations


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 (complex case)

TG01BD   Orthogonal reduction of a descriptor system to the generalized 
         Hessenberg form

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 to a SVD-like 
         coordinate form (complex case)

TG01GD   Reduced descriptor representation without non-dynamic modes

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)

TG01LD   Finite-infinite decomposition of a descriptor system

TG01MD   Finite-infinite generalized real Schur form decomposition of a descriptor system

TG01ND   Finite-infinite block-diagonal decomposition of a descriptor system

TG01PD   Bi-domain spectral splitting of a subpencil of a descriptor system

TG01QD   Three-domain spectral splitting of a subpencil of a descriptor system

TG01WD   Reduction of the descriptor dynamics matrix pair to generalized 
         real Schur form

U - Utility Routines

UD - Numerical Data Handling


UD01BD   Reading a matrix polynomial

UD01CD   Reading a sparse matrix polynomial

UD01DD   Reading a sparse real matrix

UD01MD   Printing a real matrix

UD01MZ   Printing a real matrix (complex case)

UD01ND   Printing a matrix polynomial

UE01MD   Default machine-specific parameters for (skew-)Hamiltonian computation routines