kroneck forma de Kronecker de feixe de matrizes

## Seqüência de Chamamento

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

## Parâmetros

F

  feixe de matrizes de reais `F=s*E-A`

E,A

  duas matrizes de reais de mesma dimensão

Q,Z

  duas matrizes quadradas ortogonais

Qd,Zd

  dois vetores de inteiros

numbeps,numeta

  dois vetores de inteiros

## Descrição

Forma de Kronecker de feixe de matrizes: `kroneck` computa duas matrizes ortogonais `Q, Z` que põem o feixe `F=s*E -A` na forma triangular superior:

               | 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)|

As dimensões dos quatro blocos são dadas por:

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

O bloco `inf` contém modos infinitos de feixes.

O bloco `f` contém modos finitos de feixes.

A estrutura dos blocos epsilon e eta é dada por

`numbeps(1)` = `#` de blocos eps de tamanho 0 x 1

`numbeps(2)` = `#` de blocos eps de tamanho 1 x 2

`numbeps(3)` = `#` de blocos eps de tamanho 2 x 3 etc...

`numbeta(1)` = `#` de blocos eta de tamanho 1 x 0

`numbeta(2)` = `#` de blocos eta de tamanho 2 x 1

`numbeta(3)` = `#` de blocos eta de tamanho 3 x 2 etc...

O código foi retirado de T. Beelen (Slicot-WGS group).

## Exemplos

    F = randpencil([1,1,2],[2,3],[-1,3,1],[0,3]);
    Q = rand(17,17);
    Z = rand(18,18);
    F = Q*F*Z;
    //feixe aleatório com eps1=1,eps2=1,eps3=1; 2 blocos J @ infty (infinito)
    //com dimensões 2 e
    //3 autovalores finitos em -1,3,1 e eta1=0,eta2=3
    [Q, Z, Qd, Zd, numbeps, numbeta] = kroneck(F);
    [Qd(1),Zd(1)]    //parte eps. é sum(epsi) x (sum(epsi) + número de epsi) (sum="soma")
    [Qd(2),Zd(2)]    //parte infinita
    [Qd(3),Zd(3)]    //parte finita
    [Qd(4),Zd(4)]    //parte eta é (sum(etai) + number(eta1)) x sum(etai) (number=número)
    numbeps
    numbeta

## Ver Também

- schur
- spec
- systmat
- pencan
- randpencil
- trzeros