# randpencil

ランダムなペンシル

## 呼び出し手順

    F=randpencil(eps,infi,fin,eta)

## パラメータ

eps

  整数ベクトル

infi

  整数ベクトル

fin

  実数ベクトル, またはモニックな多項式, またはモニックな多項式のベクトル

eta

  整数ベクトル

F

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

## 説明

ユーティリティ関数. `F=randpencil(eps,infi,fin,eta)` は,指定したクロネッカー構造を有する ランダムなペンシル `F`を返します. 構造は以下のように指定されます: `eps=[eps1,...,epsk]`: epsilon ブロックの構造 (大きさ eps1 x(eps1+1),....) `fin=[l1,...,ln]` 有限の固有値の集合 (実数と仮定)( []の場合もあります) `infi=[k1,...,kp]` 無限大におけるJ-ブロックの大きさ `ki>=1` (J ブロックがない場合: infi=[] ). `eta=[eta1,...,etap]`: ofeta ブロック構造 (大きさ (eta1+1)x eta1,...)

`epsi` >=0である必要があり, `etai` >=0である必要があり, `infi` >=1である必要があります.

`fin` が (モニックな) 多項式の場合, 有限のブロックは`fin`の根を固有値として許容します.

`fin` が多項式のベクトルの場合, これらは`F`の有限単因子,すなわち,`p(i)`の根は `F`の有限な固有値となります.

## 例

    F=randpencil([0,1],[2],[-1,0,1],[3]);
    [Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(F);
    Qd, Zd
    s=poly(0,'s');
    F=randpencil([],[1,2],s^3-2,[]); //通常のペンシル
    det(F)

## 参照

- kroneck
- pencan
- penlaur