Create  Edit  Diff  ホーム  Index  Search  Changes  History  Source  RSS  wikifarm  Login

プログラミングのための線形代数 - GifAnimation Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!!もう少し見やすくしました [[→ 改良版へ|http://kaorahi.bitbucket.org/anim/]]|http://kaorahi.bitbucket.io/anim/]]
----
----
----

行列は単なる「数字の表」ではありません.
m×n 行列 A には, n 次元空間から m 次元空間への写像という意味があります.
この写像を観察しましょう.

!!こてしらべ: 対角行列の観察

!!!◆まずは典型的な対角行列

        1.5    0
A =    
        0    0.5

{{attach_view(anim0.gif)}}

* 縦横に伸縮
* 横方向は拡大(1.5倍), 縦方向は縮小(0.5倍)
* 各升目の面積は, 1.5 * 0.5 = 0.75 倍になる. この面積拡大率 0.75 が det A. だから, 対角行列の行列式=対角成分の積.

!!!◆対角成分に0があると…

         0    0
B =    
         0    0.5

{{attach_view(anim1.gif)}}

* 横が0倍 → ぺっちゃんこ
* 面積拡大率 det A = 0

!!!◆さらにマイナスまでいくと…

        1.5    0
C =    
        0    -0.5

{{attach_view(anim2.gif)}}

* 縦が-0.5倍 → 裏返し
* こういうときが det A<0

!!固有値・固有ベクトルと対角化の観察

!!!◆対角じゃない一般の行列だと, こんなふうに歪みます

        1    -0.3
D =    
        -0.7    0.6

{{attach_view(anim3.gif)}}

* 歪む
* それでも「曲がる」わけじゃなく, 直線は直線, 平行は平行のまま
* A の 1 列目が (1,0)^T の行き先, 2 列目が (0,1)^T の行き先 (^T は「転置」. 縦ベクトルにしろということ). この二つを知れば, 全体の移り具合も見当つく

!!!◆固有ベクトルを描くと…

{{attach_view(anim4.gif)}}

* 矢印は伸び縮みするけど, 方向は変わらない. こういうのが固有ベクトル.
* 伸縮率が固有値. 伸びてる方は固有値1.3, 縮んでる方は固有値0.3

!!!◆固有ベクトルの方向に斜交座標をとると…

{{attach_view(anim5.gif)}}

* 座標軸方向にそった伸縮だけになる
* つまり, こういううまい座標をとれば, 対角行列のときと同じような状況にできる. これが対角化ということ.
* 各升目の面積は, 1.3 * 0.3 = 0.39 倍. だから面積拡大率 det A = 0.39 = すべての固有値の積.

!!ランクと正則性の観察

!!!◆行列によっては, 空間がぺちゃんこにつぶされることもあります

        0.8    -0.6
E =    
        0.4    -0.3

{{attach_view(anim6.gif)}}

* 移った先はぺっちゃんこ(一直線). この直線が A の像(Im A).
* 移った先(Im A)の次元数をランクという. この例では直線だから1次元(rank A = 1).
* つぶれるということは, 移った先の次元が元より減るということ(rank A < 2). こういうのが特異行列. もしつぶれなければ rank A = 2 のはずで, そういうのが正則行列.
* つぶれてるんだから, 面積拡大率 det A = 0
* (1,0)^T の移り先(A の 1 列目)と (0,1)^T の移り先(A の 2 列目)が, 独立な方向じゃなくなってる

!!!◆固有ベクトルを描くと…

{{attach_view(anim7.gif)}}

* つぶれる=固有値0

!!!◆固有ベクトルの方向にまた斜行座標をとると…

{{attach_view(anim8.gif)}}

* 固有値0の固有ベクトル v にそった直線上の点は, みんな原点に移ってしまう. この直線が A の核(Ker A).
* 他についても, v と平行な直線上の点はみんな一点に移ってしまう.
* ということは, 移り先を聞いても, 元がどこだったかは特定できない. 逆行列が存在しないというのはこういうこと.
* もとの次元数(平面だから2次元) - つぶれた次元数(Ker A は直線だから1次元) = 残った次元数(Im A も直線だから1次元). これが次元定理.

!!行列式の交代性の観察

!!!◆行列 D の列を入れ替えると…

{{attach_view(anim9.gif)}}

        -0.3    1
F =    
        0.6    -0.7

* 裏返しになる. こんなときが面積拡大率 det A < 0
* 行列 D と比べると, 枠の平行四辺形は同じだが中身が裏返し. だから det F = - det D
* 行列式の交代性とはこういうこと

----
!!アニメーション生成プログラム

→ [[ダウンロード]]

----
{{comment}}
----
{{toc}}