Skip to contents

The 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:

  • General methods, like print, dim, plot, ...

  • Arithmetic operations, like addition and multiplication. See in particular Ops.ratm and %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, whf and col_reduce. Check for "left (co)primeness" with is.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, ...

Author(s)

Wolfgang Scherrer and Bernd Funovits

Maintainer: <bernd.funovits@gmail.com>

References: See Also: Examples: