quaskro 準クロネッカー形式

## 呼び出し手順

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

## 引数

F

  実数行列ペンシル `F=s*E-A` (`s=poly(0,'s')`)

E,A

  同じ次元の実数行列

tol

  実数 (許容誤差,デフォルト値=1.d-10)

Q,Z

  正方直交行列

Qd,Zd

  整数ベクトル

numbeps

  整数ベクトル

## 説明

行列ペンシルの準クロネッカー形式: `quaskro`は,ペンシル`F=s*E -A`を上三角行列形式に変換する 直交行列 `Q, Z`を計算します:

               | sE(eps)-A(eps) |        X       |      X     |
               |----------------|----------------|------------|
               |        O       | sE(inf)-A(inf) |      X     |
    Q(sE-A)Z = |=================================|============|
               |                                 |            |
               |                O                | sE(r)-A(r) |

ブロックの次元は次のように指定されます:

`eps=Qd(1) x Zd(1)`, `inf=Qd(2) x Zd(2)`, `r = Qd(3) x Zd(3)`

`inf` ブロックには, ペンシルの無限大モードが含まれます.

`f` ブロックには, ペンシルの有限モードが含まれます.

epsilonブロックの構造は次のように指定されます:

`numbeps(1)` = 大きさ 0 x 1のepsブロックの数

`numbeps(2)` = 大きさ 1 x 2のepsブロックの数

`numbeps(3)` = 大きさ 2 x 3のepsブロックの数 etc...

完全な(4ブロックの)クロネッカー形式は, (pertransposed)ペンシル`sE(r)-A(r)`を指定して `quaskro`をコールする 関数`kroneck`により指定されます.

このコード T. Beelenによるものです.

## 参照

- kroneck
- schur
- spec