Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
spec
行列とペンシルの固有値
呼び出し手順
evals=spec(A) [R,diagevals]=spec(A) evals=spec(A,B) [alpha,beta]=spec(A,B) [alpha,beta,Z]=spec(A,B) [alpha,beta,Q,Z]=spec(A,B)
引数
- A
実数または複素正方行列
- B
A
と同じ次元の実数または複素正方行列- evals
実数または複素ベクトル, 固有値
- diagevals
実数または(対角項に固有値を有する)複素対角行列
- alpha
実数または複素ベクトル, al./be により固有値が得られます
- beta
実数ベクトル, al./be により固有値が得られます
- R
可逆な実数または複素正方行列, 行列右固有ベクトル.
- L
可逆な実数または複素正方行列, ペンシル左固有ベクトル.
- R
可逆な実数または複素正方行列, ペンシル右固有ベクトル.
説明
- evals=spec(A)
ベクトル
evals
に固有値を返します.- [R,diagevals] =spec(A)
対角行列r
evals
に固有値,R
に固有ベクトルを返します.- evals=spec(A,B)
行列ペンシル A - s B のスペクトル,すなわち, 多項式行列 s B - Aの根,を返します.
- [alpha,beta] = spec(A,B)
行列ペンシル
A- s B
のスペクトル, すなわち,多項式行列A - s B
の根を返します. 一般化固有値 alpha と beta は行列A - alpha./beta B
が特異行列となる値です. 固有値はal./be
により指定され,beta(i) = 0
の場合,i番目の固有値は無限大となります. (B = eye(A)
の場合,alpha./beta
はspec(A)
となります). 通常,beta=0や両方がゼロの場合に関して都合が良い解釈が存在するため, (alpha,beta)の組み合わせで表されます.- [alpha,beta,R] = spec(A,B)
上記に加えてペンシルの一般化右固有ベクトルとなる 行列
R
を返します.- [al,be,L,R] = spec(A,B)
上記に加えてペンシルの一般化右および左固有ベクトルである行列
L
およびR
を返します.- [al,be,Z] = spec(A,E)
一般化右固有ベクトルである行列
Z
を返します.- [al,be,Q,Z] = spec(A,E)
一般化右および左固有ベクトルである行列
Q
およびZ
を返します.
大きな完全 / 疎行列の場合, Arnoldi モジュールを使用することができます.
参照
行列の固有値計算は Lapack ルーチンに基づいています
行列が対称でない場合, DGEEV および ZGEEV.
行列が対称の場合, DSYEV および ZHEEV.
複素対象行列は複素共役の非対角項と実数の対角項を有します.
ペンシル固有値計算は Lapack ルーチン DGGEV および ZGGEVに基づいています.
実数および複素行列
例えば evals や R のような出力変数の型は入力行列 A および B の型と 同じである必要はないことに注意してください. 以下のパラグラフでは、行列 A の固有値および固有ベクトルを 計算する際の出力変数の型を解析します.
実数 A 行列
対称
固有値と固有ベクトルは実数.
非対称
固有値と固有ベクトルは複素数.
複素 A 行列
対称
固有値は実数だが固有ベクトルは複素数.
非対称
固有値,固有ベクトルは複素数.
例
// MATRIX EIGENVALUES A=diag([1,2,3]); X=rand(3,3); A=inv(X)*A*X; spec(A) x=poly(0,'x'); pol=det(x*eye(3,3)-A) roots(pol) [S,X]=bdiag(A); clean(inv(X)*A*X) // PENCIL EIGENVALUES A=rand(3,3); [al,be,R] = spec(A,eye(A)); al./be clean(inv(R)*A*R) //displaying the eigenvalues (generic matrix) A=A+%i*rand(A); E=rand(A); roots(det(A-%s*E)) //complex case
参照
- poly — 多項式を定義する
- det — 行列式
- schur — 行列およびペンシルの[ソートされた] Schur 分解
- bdiag — ブロック対角化, 一般化固有ベクトル
- colcomp — 列圧縮,カーネル,ヌル空間
- dsaupd — 暗黙のうちに再開されるArnoldi反復へのインターフェイスで, 実対称線形演算子の小数の固有値/ベクトルの組を近似的に計算します. この関数は廃止されました. eigsを使用してください
- dnaupd — 暗黙のうちに再開されるArnoldi反復へのインターフェイスで, 実線形演算子の小数の固有値/ベクトルの組を近似的に計算します. この関数は廃止されました. eigsを使用してください
Report an issue | ||
<< schur | Eigenvalue and Singular Value | sva >> |