Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Linear Algebra > Matrix Pencil > kroneck

kroneck

Kronecker form of matrix pencil

Syntax

[Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(F)
[Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(E,A)

Arguments

F

real matrix pencil F=s*E-A

E,A

two real matrices of same dimensions

Q,Z

two square orthogonal matrices

Qd,Zd

two vectors of integers

numbeps,numeta

two vectors of integers

Description

Kronecker form of matrix pencil: kroneck computes two orthogonal matrices Q, Z which put the pencil F=s*E -A into upper-triangular form:

           | sE(eps)-A(eps) |        X       |      X     |      X        |
           |----------------|----------------|------------|---------------|
           |        O       | sE(inf)-A(inf) |      X     |      X        |
Q(sE-A)Z = |---------------------------------|----------------------------|
           |                |                |            |               |
           |        0       |       0        | sE(f)-A(f) |      X        |
           |--------------------------------------------------------------|
           |                |                |            |               |
           |        0       |       0        |      0     | sE(eta)-A(eta)|
 

The dimensions of the four blocks are given by:

eps=Qd(1) x Zd(1), inf=Qd(2) x Zd(2), f = Qd(3) x Zd(3), eta=Qd(4)xZd(4)

The inf block contains the infinite modes of the pencil.

The f block contains the finite modes of the pencil

The structure of epsilon and eta blocks are given by:

numbeps(1) = # of eps blocks of size 0 x 1

numbeps(2) = # of eps blocks of size 1 x 2

numbeps(3) = # of eps blocks of size 2 x 3 etc...

numbeta(1) = # of eta blocks of size 1 x 0

numbeta(2) = # of eta blocks of size 2 x 1

numbeta(3) = # of eta blocks of size 3 x 2 etc...

The code is taken from T. Beelen (Slicot-WGS group).

Examples

F = randpencil([1,1,2],[2,3],[-1,3,1],[0,3]);
Q = rand(17,17);
Z = rand(18,18);
F = Q*F*Z;
//random pencil with eps1=1,eps2=1,eps3=1; 2 J-blocks @ infty
//with dimensions 2 and 3
//3 finite eigenvalues at -1,3,1 and eta1=0,eta2=3
[Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(F);
[Qd(1),Zd(1)]    //eps. part is sum(epsi) x (sum(epsi) + number of epsi)
[Qd(2),Zd(2)]    //infinity part
[Qd(3),Zd(3)]    //finite part
[Qd(4),Zd(4)]    //eta part is (sum(etai) + number(eta1)) x sum(etai)
numbeps
numbeta

See also

  • schur — [ordered] Schur decomposition of matrix and pencils
  • spec — eigenvalues of matrices and pencils
  • systmat — system matrix
  • pencan — canonical form of matrix pencil
  • randpencil — random pencil
  • trzeros — transmission zeros and normal rank
Report an issue
<< glever Matrix Pencil lyap >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:02:43 CET 2017