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 ~~~~~~~~ + `gschur`_ generalized Schur form (obsolete). + `gspec`_ eigenvalues of matrix pencil (obsolete) + `systmat`_ system matrix + `pencan`_ canonical form of matrix pencil + `randpencil`_ random pencil + `trzeros`_ transmission zeros and normal rank .. _gspec: gspec.html .. _gschur: gschur.html .. _trzeros: trzeros.html .. _pencan: pencan.html .. _systmat: systmat.html .. _randpencil: randpencil.html