A Collection of Tools for Rational Matrices
rationalmatrices.RdThe package rationalmatrices collects classes, methods and tools
for creating and manipulating rational matrices, i.e. matrices whose
entries are rational functions.
Classes
There exist many different representations for rational matrices. This package in particular
deals with "left matrix fraction" representations (implemented as lmfd class) and
"statespace" representations (implemented as stsp class). As a special case of course
also polynomial matrices (polm class) are implemented. The coefficients
of the power series expansion of the rational function are stored as pseries objects and
a collection of values of the rational function may be stored as zvalues objects.
The package in particular offers tools to convert one representation into another
(equivalent) representation, see e.g. pseries2stsp and pseries2lmfd.
Methods
The package provides "standard" matrix - tools:
Arithmetic operations, like addition and multiplication. See in particular
Ops.ratmand%r%.Extract parts of the matrix, transposition, (column or row) bind two or more matrices, ...
Some specific methods for rational matrices are
Compute poles and zeroes of rational matrices.
Check properties of the rational matrix, like stability and inverse stability.
Some support for the echelon canonical form, see e.g. Kronecker-Indices.
Normal Forms for polynomial matrices, like the Hermite normal form and the Smith form. See
hnf,snf,whfandcol_reduce. Check for "left (co)primeness" withis.coprime.Compute the derivative (with respect to \(z\)).
Tools related to statespace representations, e.g. computation of controllability and observability Grammians and the computation of balanced (truncated) realizations. See
grammians,balance, ...