人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

「対角化」について、詳しく教えてほしいです。

とある問題と解答(添付図をご覧ください)を読んで、私は「一体何をしているの!?」と、疑問に思いました。「固有ベクトルから求める」とは、どういう意味なのか?「x の解を求めよ」とかならわかるのですが、^tTST=\begin{pmatrix} 3 & 0 & 0 \\ 0 & 1 & 0 \\ 0 &0 & 0 \end{pmatrix}といった解答に、何の意味があるのでしょうか?式を変形させただけではないでしょうか?「^tTST」と、Sの前後にTがくっ付いていたり、右上ではなく左上に小さい文字のtがくっ付いている理由も、よくわかりませんでして。。。ちなみに、
http://sinkan.net/?asin=4873616948&action_item=true
という教科書に掲載されている例題です。

そして、

http://oshiete.goo.ne.jp/qa/2048758.html

といった前述の話題も、参考にしてみました。「多変数の(線型)1次写像を1変数の1次関数の手軽さで扱おうと登場したのが行列で・・・」といった話や、いろいろ回答されているのですが、私にとって話が抽象的すぎて、対角化を実行するメリットとか等が、全くイメージできないのです(>_<)

果たして対角化とは何のか、この例題を通して、教えていただけないでしょうか?
よろしくお願いします<m(__)m>

1272917770
●拡大する

●質問者: moon-fondu
●カテゴリ:学習・教育
✍キーワード:BEGIN とある イメージ メリット 写像
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● imo758
●20ポイント

Tの転置行列を^tTと表す流儀もあります。

左右どちら側の肩に乗せた方がいいかは、それぞれの流儀に利点がありそうなので、なかなかまとまらないでしょう。



対角化の利点は、各軸を分けて考えられるようにできることです。

例えば S^10 を真正面から計算したり考えたりするのは、xyz成分が絡みあって実に大変です。

しかし(^tTST)^10ならば、(左上が3^10、真ん中が1、あとは0)という行列だとすぐにわかります。

◎質問者からの返答

そうなのですか?計算が簡単になるんですね。

でも全然わかりません(;_:)

imo758さんは「(^tTST)^10ならば、(左上が3^10、真ん中が1、あとは0)という行列だとすぐにわかる」みたいですが、私は「(^tTST)^10」を見ても、「左上が3^10、真ん中が1、あとは0」と、解釈することができないのです。

どうしてそのように解釈できるのか、もしお気が向かれましたら、教えていただけないでしょうか?


2 ● ita
●25ポイント

まずは計算の上での分かりやすいメリット。

行列Aのn乗を簡単に計算できます。

2 0
0 3

のように対角化してある行列なら、n乗は

2^n 0
0 3^n

のように簡単に計算できます。

たとえば量子力学では、時間が経って状態が変化していくのはどんどん行列をかけていくことで表現されます。その時には対角化してないと計算できません。

で、ある行列がtTSTのように書けてSが対角だとします。小文字tはトランスポーズ、転置の意味で行列Tを縦横ひっくりかえしたもの、という意味です。計算すると分かりますが、この例の場合tTとTをかけると単位行列になります。なのでtTはTの逆行列です。

ここで元の行列のn乗、すなわち(tTST)のn乗を考えると、たとえば5乗なら

(tTST)(tTST)(tTST)(tTST)(tTST) = tTST tTST tTST tTST tTST

ですが、TかけるtTは単位行列になるので、これが並んでるところは全部消えます。数字の1をかける、というのは省略できるのと同じ。

するとtT S^5 Tとなり、S^5は単純に対角成分を5乗すれば計算できて、これにtTとTを両側からかければ計算終了です。

nが大きくても同じ手間で計算できます。

その他に統計で固有値を求めるのはデータがたくさんあるときに重要な要素を抜き出す時に使います。

毎日何千という株価が動いてますが、全部ばらばらに動いてるんじゃなくて、だいたいは日経平均に連動し、あとは為替とかでほぼ決まります。これを統計処理で客観的に出すときに固有値を計算します。詳しくは

http://hooktail.org/computer/index.php?KL%C5%B8%B3%AB

http://home.a02.itscom.net/coffee/tako04.html

とか。

◎質問者からの返答

ありがとうございます!

行列Aのn乗を簡単に計算できるんですか・・・まだ実感湧かないですが・・・(^_^;)

「左からT、右からtTをかける」という操作も、一体何なのか知りませんでして・・・それが「Tt T S Tt T=T Dt T」になるのも、理解できません。

すいません、事前に知っておくべき知識が私になさすぎるかもです(>_<)


3 ● LaLaLa
●100ポイント ベストアンサー

横ベクトル (-2, -1, 1) を転置してできる縦ベクトルをu1 = ^t (-2, -1, 1)と書きます。

u1に左から行列Sを掛けてみてください。u1のちょうど3倍になりますね(固有ベクトルだから定数倍になるのは当然)。つまり

S u1 = 3 u1

です。同様にして

u2 = ^t (0, 1, 1) とおけば S u2 = 1 u2となっていますし、また、u3 = ^t (1, -1, 1) とおけば S u3 = 0 u3 となっています。

3つの縦ベクトルu1,u2,u3をこの順に左から並べてできる3次正方行列を[u1, u2, u3]と表すことにします。

上の3つの式はまとめて S [u1, u2, u3] = [3 u1, 1 u2, 0 u3] と表すことができます。

この右辺の行列 [3 u1, 1 u2, 0 u3] は、対角線上の要素が順に3, 1, 0で、非対角要素はすべてゼロの対角行列 D を用いて D [u1, u2, u3] と書くことができます(計算してみればすぐにわかる)。つまり

S [u1, u2, u3] = D [u1, u2, u3]

です。 左辺にも右辺にも出てくる行列 [u1, u2, u3] を文字 U で表すと

S U = D U

とも書けます。 このUには逆行列が存在するので、両辺に左から U^(-1) を書けると

U^(-1) S U = D

これが(ほとんど)解答例に出てくる形ですが、ひとつ前の S U = D U の形のほうが、Uが固有ベクトルを並べてできる行列であることがはっきりするので、意味はわかりやすいと(私は)思います。

なお、解答例では、行列 [u1, u2, u3] ではなく、それぞれの列を何倍かした [t1, t2, t3] を使っていますね。

S T = D T と T^(-1) S T = D

が成立することは U の場合と同じですが、Tは直交行列なので逆行列は転置行列と一致します。 T^(-1) = ^t T です。なので

^t T S T = D

となっています。

◎質問者からの返答

すいません、いきなり躓きまして(:_;)

「u1に左から行列Sを掛けてみてください。u1のちょうど3倍になりますね」という所から、わかりません(>_<)

u1 = ^t (-2, -1, 1)で、S=\begin{pmatrix} 2 & 1 & -1 \\ 1 & 1 & 0 \\ -1 &0 &1 \end{pmatrix}

だとすると、この2つを掛け合わせた値は、「3・u1」と、等しくなるということでしょうか?


4 ● rsc
●100ポイント

■「固有ベクトルから求める」とは、どういう意味なのか?果たして対角化とは何のか?

Sが異なる実数の固有値λ1、λ2、λ3をもつ場合には、それぞれの固有ベクトル↑t1、↑t2、↑t3を第1列、第2列、第3列にもつ行列(↑t1,↑t2,↑t3)をTとすると、

S↑t1=λ1↑t1

S↑t2=λ2↑t2

S↑t3=λ3↑t3

∴S(↑t1,↑t2,↑t3)=(λ1↑t1,λ2↑t2,λ3↑t3)

ST=T\begin{pmatrix} \lambda_1 & 0 & 0 \\ 0 & \lambda_2 & 0 \\ 0 & 0 & \lambda_3 \end{pmatrix}

T^{-1}ST=\begin{pmatrix} \lambda_1 & 0 & 0 \\ 0 & \lambda_2 & 0 \\ 0 & 0 & \lambda_3 \end{pmatrix}

となります。この操作を行列Sの対角化といいます。

ということで、固有値と固有ベクトルが分かれば、上の変形で対角化することが出来ます。対角化することの御利益と言えば、たとえば、べき乗の計算などが簡単になります。

λ=3のとき、画像の行列から、

x-2y=0・・・?

???から、

x:y:z=2:1:-1

長さが1だから、

x^2+y^2+z^2=1・・・?

x=2k,y=k,z=-kとおくと、

∴(4+1+1)k^2=1

∴k=±1/√[6]

「±」どっちでもいいのですが、その教科書では「-」にとっているみたいです。

t_1=\begin{pmatrix} \frac{-2}{\sqrt{6}} \\ \frac{-1}{\sqrt{6}} \\ \frac{1}{\sqrt{6}} \end{pmatrix}

同様にして、↑t2、↑t3を求めて、列ベクトルを横に並べて、

T=\[ t_1,t_2,t_3 \] =\begin{pmatrix} \frac{-2}{\sqrt{6}} & 0 & \frac{1}{\sqrt{3}} \\ \frac{-1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{-1}{\sqrt{3}} \\ \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \end{pmatrix}

後は、上の公式から。

■「^tTST」と、Sの前後にTがくっ付いていたり、右上ではなく左上に小さい文字のtがくっ付いている理由

転置を表す記号で、同じことです。教科書を書いた先生の好みで変わります。

^{t}A=A^{T}

それから、紙面の都合で、列ベクトルを横に並べて行数を節約するのにもよく使われます。

^t(x,y,z)=(x,y,z)^T=\begin{pmatrix} x \\ y \\ z \end{pmatrix}

画像の解答では、対角行列を見つけるために、Tを縦割にした、t1、t2、t3が列ベクトルで、本当は縦書きにしたいのを行数節約のために転置して横書きにしていることに注意して下さい。

※参考URL

●行列の対角化

与えられた n×n 行列 A に対して、逆をもつ行列 P を適当に選んで P^-1AP が対角行列になるようにする操作を行列の対角化 (diagonalization) と呼ぶ。対角化の直接の御利益は冪の計算が簡単になること。

http://sss.sci.ibaraki.ac.jp/teaching/la2003/node15.html

http://www.riruraru.com/cfv21/math/diagonalize.htm

◎質問者からの返答

回答ありがとうございます!

でもすいません、初歩的な質問かもしれず申し訳ないのですが、「λ=3のとき、画像の行列から、* x+y-z=0・・・? x-2y=0・・・? * x-2z=0・・・?」となるのは、どうしてなのでしょうか?

いきなり躓いてしまいました・・・もしよろしければ、ご指導よろしくお願いします(>_<)


5 ● imo758
●30ポイント

実際に計算してもわかりますが

\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 &0 & c \end{pmatrix}\begin{pmatrix} d & 0 & 0 \\ 0 & e & 0 \\ 0 &0 & f \end{pmatrix} = \begin{pmatrix} ad & 0 & 0 \\ 0 & be & 0 \\ 0 &0 & cf \end{pmatrix}

\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 &0 & c \end{pmatrix}^2 = \begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 &0 & c \end{pmatrix}\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 &0 & c \end{pmatrix} = \begin{pmatrix} a^2 & 0 & 0 \\ 0 & b^2 & 0 \\ 0 &0 & c^2 \end{pmatrix}

などとなります。これは3次元に留まらず、どんなに大きな対角化行列でも成り立ちます。

また幾何的な意味を考えても

\begin{pmatrix} a & 0 & 0 \\ 0 & b & 0 \\ 0 &0 & c \end{pmatrix}\begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} ax \\ by \\ cz \end{pmatrix}

とx軸、y軸、z軸をそれぞれ別個にa倍、b倍、c倍するだけでいいとわかります。

それに比べ対角化されていない通常の行列では

\begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix}\begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} ax+by+cz \\ dx+ey+fz \\ gx+hy+iz \end{pmatrix}

とx軸、y軸、z軸成分がこんがらがってくるので把握は難しいものです。

行列で重要なモノは、一次変換しても変わらない基準です。具体的に言えば、行列の固有ベクトルです。「固有ベクトルの向き」は行列を掛け合わせても変わりません。そこで、xyz軸で行列Sを捉えることを止めて、代わりに固有ベクトル(t1,t2,t3)を軸として行列を捉え直します。(t1,t2,t3)はSを掛け合わせても向きが変わりませんから、(t1,t2,t3)を軸に据えれば、それぞれの成分は独立に考えることができるのです。

^tTはxyz軸で測っている空間を(t1,t2,t3)で捉え直す行列、Tは(t1,t2,t3)で測っている空間をxyz軸で捉え直す行列になっています。

◎質問者からの返答

なるほどです!対角化をすると、計算がすごく簡単になるのですね!

rsc96074さんも先のご回答で教えてくれてますね・・・固有値と固有ベクトルがわかれば、対角化できるそうで(>_<)

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ