MatrixPencils.jl: A package for manipulation of linear matrix pencils

I would like to announce a new package MatrixPencils.jl, which provides functions to compute the Kronecker structure of linear matrix pencils and to solve several connected problems as the determination of eigenvalues, zeros, nullspace structure or normal rank. The basic mathematical tool to address such problems is the Kronecker canonical form of the pencil, which characterizes the complete structural properties of the underlying pencil. The computation of the Kronecker canonical form may involve the use of ill-conditioned similarity transformations and, therefore, not recommended, being potentially numerically unstable. Alternative condensed forms, called Kronecker-like forms (KLFs), can be determined using exclusively orthogonal or unitary similarity transformations and allow to obtain the needed structural information on the pencil.

The core computational functions determine a range of KLFs which reveal the full or partial Kronecker structure of a linear pencil. The KLFs are computed by performing pencil reduction operations involving row or column compressions to full rank matrices using orthogonal transformations. The rank decisions involve the use of rank revealing QR-decompositions with column pivoting or, the more reliable, SVD-decompositions. The overall computational complexity of all reduction algorithms is O(n^3) , where n is the largest dimension of the pencil.

The implemented application functions cover the determination of the complete Kronecker structure, normal rank, eigenvalues and zeros of linear pencils, of several categories of structured linear pencils as well as of polynomial matrices via suitable linearizations. For the latter aspect, several functions are provided to compute least order strong linearizations of polynomial matrices.

The targeted main applications of the implemented collection of functions are: the computation of eigenvalues, zeros, normal rank, minimal nullspace bases and various factorizations of general rational matrices, as well as the solution of linear equations with polynomial or rational matrices. The provided functions are also instrumental for solving computational problems in the analysis of generalized systems described by linear differential- or difference-algebraic equations (also known as descriptor systems).