Skip to content

Commit

Permalink
New patch release v1.0.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
andreasvarga committed Jun 15, 2020
1 parent 3dc460d commit 7777485
Show file tree
Hide file tree
Showing 16 changed files with 637 additions and 502 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "MatrixPencils"
uuid = "48965c70-4690-11ea-1f13-43a2532b2fa8"
authors = ["Andreas Varga <varga.andreas@gmail.com>"]
version = "1.0.1"
version = "1.0.2"

[deps]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Expand Down
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ Julia 1.1 and higher.
pkg> add MatrixPencils
pkg> test MatrixPencils
````

## About

The Kronecker-canonical form of a linear pencil `M − λN` basically characterizes the right and left singular structure and the eigenvalue structure of the pencil. The computation of the Kronecker-canonical form may involve the use of ill-conditioned similarity transformations and, therefore, is potentially numerically unstable. Fortunately, alternative staircase forms, called `Kronecker-like forms` (KLFs), can be determined by employing exclusively orthogonal or unitary similarity transformations and allow to obtain basically the same (or only a part of) structural information on the pencil `M − λN`. Various KLFs can serve to address, in a numerically reliable way, the main applications of the Kronecker form,
The Kronecker-canonical form of a linear pencil `M − λN` basically characterizes the right and left singular structure and the eigenvalue structure of the pencil. The computation of the Kronecker-canonical form may involve the use of ill-conditioned similarity transformations and, therefore, is potentially numerically unstable. Fortunately, alternative staircase forms, called *Kronecker-like forms* (KLFs), can be determined by employing exclusively orthogonal or unitary similarity transformations and allow to obtain basically the same (or only a part of) structural information on the pencil `M − λN`. Various KLFs can serve to address, in a numerically reliable way, the main applications of the Kronecker form,
such as the computation of minimal left or right nullspace bases, the computation of eigenvalues and zeros, the determination of the normal rank of polynomial and rational matrices, the computation of various factorizations of rational matrices, as well as the solution of linear equations with polynomial or rational matrices. The KLFs 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).

This collection of Julia functions is an attemp to implement high performance numerical software to compute a range of
KLFs which reveal the full or partial Kronecker structure of a linear pencil. The KLFs are computed by performing several pencil reduction operations on a reduced basic form of the initial pencil. These operations efficiently compress the rows or columns of certain submatrices to full rank matrices and simultaneously maintain the reduced basic form. The rank decisions involve the use of rank revealing QR-decompositions with colum 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.
KLFs which reveal the full or partial Kronecker structure of a linear pencil. The KLFs are computed by performing several pencil reduction operations on a reduced basic form of the initial pencil. These operations efficiently compress the rows or columns of certain submatrices to full rank matrices and simultaneously maintain the reduced basic form. 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.

Many of the implemented pencil manipulation algorithms are extensions of computational procedures proposed by Professor Paul Van Dooren (Université catholique de Louvain, Belgium) in several seminal contributions in the field of linear algebra and its applications in control systems theory. The author expresses his gratitude to Paul Van Dooren for his friendly support during the implementation of functions for manipulation of polynomial matrices. Therefore, the release v1.0 of the **MatrixPencils** package is dedicated in his honor on the occasion of his 70th birthday in 2020.

Expand Down Expand Up @@ -90,7 +91,7 @@ The current version of the package includes the following functions:

**Some applications to polynomial matrices**

* **pmkstruct** Determination of the complete Kronecker structure.
* **pmkstruct** Determination of the Kronecker structure and infinite pole-zero structure.
* **pmeigvals** Computation of the finite and infinite eigenvalues.
* **pmzeros** Computation of the finite and infinite zeros.
* **pmzeros1** Computation of the finite and infinite zeros using linear pencil based structured linearization.
Expand All @@ -108,3 +109,7 @@ A complete list of implemented functions is available [here](https://sites.googl
## Future plans

The collection of tools will be extended by adding new functionality, such as new tools for the manipulation of regular pencils (e.g., reduction to a block-diagonal structure, eigenvalue assignment), building linearizations of polynomial matrices in other bases (e.g., orthogonal polynomial bases), applications of structured linear pencils manipulations to rational matrix problems, etc.

## Supplimentary information

The mathematical background and the computational aspects which underly the implementation of functions for polynomial matrices are presented in the eprint [arXiv:2006.06825](https://arxiv.org/pdf/2006.06825).
Loading

0 comments on commit 7777485

Please sign in to comment.