Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
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
| Report an issue | ||
| << glever | Matrix Pencil | lyap >> |