DSTOOLS is a collection of MATLAB functions for the operation on and manipulation of rational transfer-function matrices via their generalized state-space (or descriptor) system representations. This collection represents an extension of the MATLAB Control System Toolbox, from which inherits the object-oriented manipulation of system objects. The DSTOOLS collection relies on several powerfull computational kernels, implemented as mex-functions based on the Systems and Control Library SLICOT.
The current release of DSTOOLS is version 0.76, dated April 15, 2021, and contains the following mex- and m-functions:
mex-Functions Description
sl_gstra Descriptor system coordinate transformations
sl_klf Pencil reduction to Kronecker-like forms
sl_glme Solution of generalized linear matrix equations
sl_gzero Computation of system zeros and Kronecker structure
sl_gminr Minimal realization of descriptor systems
sl_gsep Descriptor system additive spectral decompositions
m-Functions Description
Demonstration
DSToolsdemo Demonstration of DSTOOLS
System analysis
gpole Poles of a LTI descriptor system
gzero Zeros of a LTI descriptor system
gnrank Normal rank of the transfer function matrix of a LTI system
ghanorm Hankel norm of a proper and stable LTI descriptor system
gnugap Nu-gap distance between two LTI systems.
System order reduction
gminreal Generalized minimal realization of descriptor systems
gir Irreducible realization of descriptor systems
gbalmr Balancing-based model reduction of a LTI descriptor system
gss2ss Conversions to SVD-like forms without non-dynamic modes
Operations on transfer function matrices
grnull Right nullspace basis of a transfer function matrix
glnull Left nullspace basis of a transfer function matrix
grange Range space basis of a transfer function matrix
gcrange Coimage space basis of a transfer function matrix
grsol Solution of the linear rational matrix equation G(λ)X(λ) = F(λ)
glsol Solution of the linear rational matrix equation X(λ)G(λ) = F(λ)
ginv Generalized inverses of a transfer function matrix
gsdec Generalized additive spectral decompositions
grmcover1 Right minimum dynamic cover of Type 1 based order reduction
glmcover1 Left minimum dynamic cover of Type-1 based order reduction
grmcover2 Right minimum dynamic cover of Type-2 based order reduction
glmcover2 Right minimum dynamic cover of Type-2 based order reduction
gbilin Generalized bilinear transformation
gbilin1 Transfer functions of commonly used bilinear transformations
Factorizations of transfer function matrices
grcf Right coprime factorization with proper and stable factors
glcf Left coprime factorization with proper and stable factors
grcfid Right coprime factorization with inner denominator
glcfid Left coprime factorization with inner denominator
gnrcf Normalized right coprime factorization
gnlcf Normalized left coprime factorization
giofac Inner-outer/QR-like factorization
goifac Co-outer-inner/RQ-like factorization
grsfg Right spectral factorization of γ2 I−G*(λ)G(λ)
glsfg Left spectral factorization of γ2 I−G(λ)G*(λ)
Model-matching problems
grasol Approximate solution of the linear rational matrix equation G(λ)X(λ) = F(λ)
glasol Approximate solution of the linear rational matrix equation X(λ)G(λ) = F(λ)
glinfldp Solution of the L∞ least distance problem min||G1(λ)−X(λ) G2(λ)||∞
gnehari Generalized Nehari approximation
Feedback stabilization
gsfstab Generalized state-feedback stabilization
Pencil similarity transformations
gklf Kronecker-like staircase forms of a linear matrix pencil
gsklf Special Kronecker-like form of a system matrix pencil
gsorsf Specially ordered generalized real Schur form
Many of the implemented functions are based on the computational procedures described in Chapter 10 of the book:
Andreas Varga, Solving Fault Diagnosis Problems - Linear Synthesis Techniques, vol. 84 of Studies in Systems, Decision and Control, Springer International Publishing, xxviii+394, 2017.
DSTOOLS is distributed via GitHub as a free software for non-commercial use. The codes have been developed under MATLAB 2015b and have been also tested with MATLAB 2016a through 2020b. To use the functions, the Control System Toolbox (Version 9.10 or later) must be installed in MATLAB running under 64-bit Windows 7, 8, 8.1 or 10.
A comprehensive User's Guide for the current version of DSTOOLS is available in the DSTOOLS repository on GitHub and on for the version V0.71 on arXiv. Additionally, the above book provides useful complementary information, by describing much of the mathematical background on rational matrices and descriptor systems, and giving detailed descriptions of the underlying procedures. Moreover, the M-files of the functions are self-documenting and a detailed documentation can be obtained online by typing help with the M-file name.
Please cite DSTOOLS as "A. Varga. DSTOOLS - The Descriptor System Tools for MATLAB. https://sites.google.com/view/andreasvarga/home/software/dstools, 2019".
Please cite the documentation of V0.71 of DSTOOLS as "A. Varga.Descriptor System Tools (DSTOOLS) User's Guide, ArXiv eprint arXiv:1707.07140, September 2018.