LinearAlgebra[Eigenvalues] - 行列の固有値の計算
使い方
Eigenvalues(A, C, imp, o, outopts)
パラメータ
A - 行列; 固有値を求める行列
C - (オプション) 行列; 一般化固有値問題のための行列
imp - (オプション) BooleanOpt(implicit); 固有多項式の根が陰関数表示の RootOfs または根号を含むことを指定
o - (オプション) output = obj の形をした等式で obj は 'Vector', 'Vector[row]', 'Vector[column]', 'list' のいずれか、またはこれら名前のうちの 1 つを含むリスト ; 結果として生じるオブジェクトのフォーマットを選択
outopts - (オプション) outputoptions=list の形をした等式; 結果として得られるオブジェクトのコンストラクタオプション
|
説明
|
|
•
|
Eigenvalues(..) 関数は単純な 問題 A . x = lambda*x と一般化固有値問題 A . x = lambda*C . x を解きます。 解は自明でないベクトル解 x が存在するような lambda のスカラー値すべてを含みます。(自明な解は零ベクトルです。)
|
•
|
Eigenvalues(A) コマンドは行列 A の固有値を列ベクトルで返すことによって単純な固有値問題を解きます。
|
|
浮動小数点固有値問題において、A が実対称または複素エルミート行列ならば、返されるオブジェクトは実データタイプを持ちます。
|
•
|
Eigenvalues(A, C) コマンドは行列 A の固有値を列ベクトルで返すことによって一般化固有値問題を解きます。
|
|
浮動小数点一般化固有値問題において、行列 A が実対称または複素エルミート行列であり、行列 C が実対称または複素エルミート行列で属性 positive_definite (正定値)を持つならば、返されるオブジェクトは実データタイプを持ちます。
|
•
|
implicit オプション (imp) が呼び出し手順の中に単に記号 implicit としてか implicit=true の形で含まれているならば、固有値は代数拡大に対する Maple の RootOf 表記法を用いて表されるかまたは (可能ならば) 正確な根号によって表されます。
|
•
|
A の固有値が返されるフォーマットはパラメータ o によって決定されます。 o が呼び出し手順の中で省略されていると、列ベクトルが返されます。行ベクトルまたはリストがその代わりに指定されるかもしれません。
|
•
|
outputoptions オプション (outopts) は、結果を作成する Vector コンストラクタに付加情報 (readonly, shape, storage, order, datatype, attributes) を与えます。
|
•
|
この関数は LinearAlgebra パッケージの一部ですから、コマンド with(LinearAlgebra) を実行した後にのみ Eigenvalues(..) の形で使うことができます。ただし、長い形の名前 LinearAlgebra[Eigenvalues](..) を使えばいつでもアクセスすることができます。
|
|
|
例
|
|
>
|
with(LinearAlgebra):
R := Matrix([[611,196,-192,407,-8,-52,-49,29], [899,113,-192,-71,-43,-8,-44],
[899,196,61,49,8,52], [611,8,44,59,-23], [411,-599,208,208],
[411,208,208], [99,-911], [99]], shape=symmetric,
scan=triangular[upper]);
|
| (2.1) |
| (2.2) |
>
|
M := <<1,4,-2>|<-1,0,1>|<-1,2,1>>;
|
| (2.3) |
>
|
Eigenvalues(M, implicit, output='list');
|
| (2.4) |
>
|
A := RandomMatrix(3,outputoptions=[datatype=float,shape=symmetric,
storage=rectangular]);
|
| (2.5) |
>
|
B := RandomMatrix(3,outputoptions=[datatype=float]);
|
| (2.6) |
>
|
Eigenvalues(A, B, output='Vector[row]');
|
| (2.7) |
|
|