固有値と固有ベクトル

更新日2009-06-18 (木) 09:38:30

n次正方行列AについてAの固有値λ文字と固有ベクトルxには

Ax=λx

の関係がある

octave-3.2.0.exe:1:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> A = [1 2 3 4
> 5 6 7 0
> 8 9 0 0
> 1 0 0 0]
A =

   1   2   3   4
   5   6   7   0
   8   9   0   0
   1   0   0   0

固有値と固有ベクトルを求めると4x4の場合は4組計算できる
以下のように計算する

> [V,LAMBDA]=eig(A)
V =

  -0.266458  -0.274535   0.650964   0.659875
  -0.730400  -0.385075  -0.630878  -0.600470
  -0.628607   0.880072   0.247201  -0.084213
  -0.019241   0.042673  -0.342244   0.443744

LAMBDA =

Diagonal Matrix

   13.8485         0         0         0
         0   -6.4335         0         0
         0         0   -1.9020         0
         0         0         0    1.4871

上記で求めたVの各列が固有ベクトルになり、その固有値は行列LAMBDAの対角線上にそれぞれの固有値が出る。

行列の要素はV(a,b)のようにすることで取り出せる

また、列はV(:,a)とすることでa列目の1Xn行の行列が出る

> V(:,1)
ans =

  -0.266458
  -0.730400
  -0.628607
  -0.019241
octave-3.2.0.exe:4:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> LAMBDA(1,1)
ans =  13.848

固有値、固有ベクトルの確認

1列目

左辺(Ax)

octave-3.2.0.exe:5:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> A*V(:,1)
ans =

   -3.69004
  -10.11493
   -8.70526
   -0.26646

右辺(λx)

octave-3.2.0.exe:6:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> LAMBDA(1,1)*V(:,1)
ans =

   -3.69004
  -10.11493
   -8.70526
   -0.26646
左辺(Ax) = 右辺(λx)

2列目

左辺

octave-3.2.0.exe:7:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> A*V(:,2)
ans =

   1.76622
   2.47738
  -5.66195
  -0.27453

右辺

octave-3.2.0.exe:8:C:\usr\Octave\3.2.0_gcc-4.3.0\bin
> LAMBDA(2,2)*V(:,2)
ans =

   1.76622
   2.47738
  -5.66195
  -0.27453

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-18 (木) 09:38:30 (3434d)