固有値と固有ベクトル
| 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]:= |
| Out[1]= |
Mathematica に近似実数を成分とする行列を与えると,近似値による固有値と固有ベクトルが算出される.
| In[2]:= |
| Out[2]= |
| In[3]:= |
| Out[3]= |
| In[4]:= |
| Out[4]= |
| In[5]:= |
| Out[5]= |
| In[6]:= |
| Out[6]= |
| In[7]:= |
| Out[7]= |
関数Eigenvaluesを
×
行列に適用すると,固有値は
個求まる.値はリスト形式で返される.固有値は行列の特性多項式の持つ根に対応するが,すべての固有値が相異なる値として求まるとは限らない.一方,Eigenvectorsを適用すると,固有ベクトルが求まり,リスト形式で返される.求まる固有ベクトルは必ず互いに独立している.求まるベクトルの数が
に満たないとき,Eigenvectorsの返すリストには,リスト長を
に揃えるため必要数の零ベクトルが追加される.
| In[8]:= |
| Out[8]= |
| In[9]:= |
| Out[9]= |
| In[10]:= |
| Out[10]= |
| In[11]:= |
| 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]:= |
| Out[12]= |
| In[13]:= |
| Out[13]= |
| In[14]:= |
| 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になるものもある.
と
が零空間を共有しているとこのようなことが起る.一般化された固有値は無限にもなり得る.
| In[15]:= |
| Out[15]= |
| In[16]:= |
| Out[16]= |
