Hoppa direkt till innehållet

StratiGraph and MCS Toolbox

Forskningsprojekt StratiGraph and MCS Toolbox

StratiGraph is a Java-based tool for computing and displaying the stratification (closure hierarchy) of orbits or bundles of canonical structures. Matrix Canonical Structure (MCS) Toolbox is a Matlab toolbox for working with and computing canonical structure information.


Bo Kågström
Professor, senior, professor
090-786 54 19



Startdatum: 1998-01-01


SSF, VR, eSSENCE och UMIT (EU Structural Fund Objective 2) har finansierat projektet under alla år. Senaste åren VR och eSSENCE.




The determination of the canonical form (Jordan, Kronecker, etc.) of a matrix or matrix pencil is an ill-posed problem in the presence of roundoff errors when the matrix or matrix pencil has multiple defective or derogatory eigenvalues. Therefore there exists modern numerical software based on staircase algorithms, such as GUPTRI, that regularizes these problems by allowing a tolerance for rank decisions to find their structure. However, the algorithms used are known to occasionally fail and thereby accidentally producing wrong, but nearby structures. Failure appears to occur when the matrix or matrix pencil is close to a manifold of interesting structures of higher codimension. Alan Edelman, Erik Elmroth, and Bo Kågström have proposed to make use of the mathematical knowledge of stratification of the obits or bundles of the canonical structures in order to enhance the staircase algorithm. This stratification, in effect, shows which structures are nearby other structures (in the sense of being in the closure) in the space of matrices. The stratification can be described as a connected graph, that grows exponentially with increasing matrix dimension. StratiGraph is a Java-based software tool that determines and visualizes such a graph.

Current version of StratiGraph supports stratification of:
• matrices under similarity,
• matrix pencils G-sH under strict equivalence,
• controllability pairs (A,B) under feedback equivalence,
• observability pairs (A,C) under injection equivalence,
• non-singular generalized state-space systems under feedback-injection equivalence, and
• linearizations of (full normal-rank) matrix polynomials.

Matrix Canonical Structure Toolbox
The Matrix Canonical Structure (MCS) Toolbox for Matlab includes a framework with data type objects for representing canonical structures and several routines for handling the interface to StratiGraph. Together with a plug-in to StratiGraph it is possible to import and export canonical structures between StratiGraph and Matlab.
Current version of MCS Toolbox supports canonical structures of:
• matrices (under similarity, congruence, and *congruence),
• matrix pencils (under strict equivalence, and symmetric and skew-symmetric pencils under congruence),
• matrix polynomials,
• system pencils (under feedback-injection equivalence).

Latest releases
StratiGraph 4.0 (2018-04-19)
Requires Java version 7 or later. For changes see the change log.
To run StratiGraph together with the MCS Toolbox, at least Matlab version 8.2 (R2013b) and the additional Java API matlabcontrol.jar are needed. See the readme file how to install and run.

MCS Toolbox 0.6 (2018-04-19)
For changes see the change log.

Previous releases
StratiGraph 3.1 (2016-02-10)
StratiGraph 3.0 (for Java version 7 or later)
MCS Toolbox 0.5 (2016-02-10)

StratiGraph - License
MCS Toolbox - License
Before you begin please read the Copyright information.
StratiGraph - Readme
MCS Toolbox - Readme
This gives a general introduction to StratiGraph and MCS toolbox, and a quick guide on how to use and install the software.

StratiGraph v2.2 - User's guide
A user's guide on StratiGraph v2.2. No one is available for v3.x at present, but a brief introduction is presented in the book chapter [Kågström, Johansson, Johansson; 2012].

MCS Toolbox - User's manual v0.6
A user's manual for all functions and classes in the MCS toolbox.