固有値と固有ベクトル

Eigenvalues[m]m の固有値を列挙する
Eigenvectors[m]m の固有ベクトルを列挙する
Eigensystem[m]という形式のリスト
Eigenvalues[N[m]]数値的固有値
Eigenvalues[N[m,p]]p 桁精度から始まる数値的な固有値
CharacteristicPolynomial[m,x]m の特性多項式

固有値と固有ベクトル

が行列 の固有値であるとは,0以外のベクトル となるものが存在するときをいう. を固有ベクトルと呼ぶ.

× 行列の「特性多項式」 CharacteristicPolynomial[m,x]Det[m-x IdentityMatrix[n]]で与えられる.固有値はこの多項式の根である.

× の行列の固有値を見付けるということは,一般に 次の代数方程式を解くことを意味する.の場合,解をベキ根を使って代数的に記述することは一般に不可能である.Rootオブジェクトを使い解を構築することは可能ではあるが,ある程度疎な行列か単純な行列でないと,構築した解が複雑になりすぎて扱えなくなってしまう.

この例のような単純な行列でさえ,固有値の取る形は極めて複雑である.
In[1]:=
Click for copyable input
Out[1]=

Wolfram言語に近似実数を成分とする行列を与えると,近似値による固有値と固有ベクトルが算出される.

2×2の行列を例にする.
In[2]:=
Click for copyable input
Out[2]=
この行列はともに実数からなる固有値を2つ持つ.
In[3]:=
Click for copyable input
Out[3]=
の固有ベクトルが2つ求まる.
In[4]:=
Click for copyable input
Out[4]=
Eigensystemを使うと固有値と固有ベクトルが同時に求まる.この割当てはに固有値を割り当て,に固有ベクトルを割り当てる.
In[5]:=
Click for copyable input
Out[5]=
第1組の固有値と固有ベクトルが適切な条件を満たしているか方程式を構成して確認する.
In[6]:=
Click for copyable input
Out[6]=
乱数を成分とする4×4行列の固有値を求める.非対称な行列では,固有値に虚数部が生じることがある.
In[7]:=
Click for copyable input
Out[7]=

関数Eigenvalues× 行列に適用すると,固有値は 個求まる.値はリスト形式で返される.固有値は行列の特性多項式の持つ根に対応するが,すべての固有値が相異なる値として求まるとは限らない.一方,Eigenvectorsを適用すると,固有ベクトルが求まり,リスト形式で返される.求まる固有ベクトルは必ず互いに独立している.求まるベクトルの数が に満たないとき,Eigenvectorsの返すリストには,リスト長を に揃えるため必要数の零ベクトルが追加される.

3×3の行列を構成する.
In[8]:=
Click for copyable input
Out[8]=
0の固有値が3つ見付かる.
In[9]:=
Click for copyable input
Out[9]=
独立した固有ベクトルは1つしか見付からない.リスト長を3にするため,Eigenvectorsによって2つの零ベクトルが追加される.
In[10]:=
Click for copyable input
Out[10]=
以下は,行列の特性多項式を与える.
In[11]:=
Click for copyable input
Out[11]=
Eigenvalues[m,k]m の大きい方から k 個目までの固有値
Eigenvectors[m,k]対応する m の固有ベクトル
Eigensystem[m,k]対応する固有ベクトルを持つ k 個の最大の固有値
Eigenvalues[m,-k]m の小さい方から k 個目までの固有値
Eigenvectors[m,-k]対応する m の固有ベクトル
Eigensystem[m,-k]対応する固有ベクトルを持つ k 個の最小の固有値

最大固有値と最小固有値を求める

Eigenvaluesは数値的な固有値を絶対値の大きなものから順に並べる.行列の最大固有値あるいは最小固有値のみが知りたいことは多い.Eigenvalues[m,k]Eigenvalues[m,-k]を使うとこれが効率よく行える.

これは整数行列の厳密な固有値を計算する.
In[12]:=
Click for copyable input
Out[12]=
固有値は大きいものから小さいものへと並べられる.
In[13]:=
Click for copyable input
Out[13]=
これは絶対値が大きな方から3つ目までの固有値を与える.
In[14]:=
Click for copyable input
Out[14]=
Eigenvalues[{m,a}]a についての m の一般化された固有値
Eigenvectors[{m,a}]a についての m の一般化された固有ベクトル
Eigensystem[{m,a}]a についての m の一般化された固有システム
CharacteristicPolynomial[{m,a},x]a についての m の一般化された特性多項式

一般化された固有値と固有ベクトル

行列 についての行列 の一般化された固有値は である によって定義される.

一般化された固有値は一般化された特性多項式Det[m-x a]のゼロに対応する.

通常の行列の固有値は常にはっきりした値を持つが,一般化された固有値の中には一般化された特性多項式が消失してしまうと常にIndeterminateになるものもある. が零空間を共有しているとこのようなことが起る.一般化された固有値は無限にもなり得る.

この2つの行列は一次元の零空間を共有しているので,一般化された固有値の1つはIndeterminateである.
In[15]:=
Click for copyable input
Out[15]=
これは,一般化された特性多項式を返す.
In[16]:=
Click for copyable input
Out[16]=