- Aide Scilab
- Algèbre Lineaire
- bdiag
- chfact
- chol
- chsolve
- cmb_lin
- coff
- colcomp
- companion
- cond
- det
- expm
- fullrf
- fullrfk
- givens
- glever
- gspec
- hess
- householder
- inv
- kernel
- linsolve
- lu
- lyap
- nlev
- orth
- pbig
- pinv
- polar
- proj
- qr
- range
- rank
- rcond
- rowcomp
- spec
- sqroot
- squeeze
- sva
- svd
- trace
- aff2ab
- balanc
- classmarkov
- eigenmarkov
- ereduc
- fstair
- genmarkov
- gschur
- im_inv
- kroneck
- lsq
- pencan
- penlaur
- projspec
- psmall
- quaskro
- randpencil
- rankqr
- rowshuff
- rref
- schur
- spaninter
- spanplus
- spantwo
- sylv
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
Calling Sequence
[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
| << im_inv | Algèbre Lineaire | lsq >> |