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


とある問題と解答(添付図をご覧ください)を読んで、私は「一体何をしているの!?」と、疑問に思いました。「固有ベクトルから求める」とは、どういう意味なのか?「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>

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2010/05/04 05:16:10
  • 終了:2010/05/11 00:28:41

ベストアンサー

id:LaLaLa No.3

LaLaLa回答回数4ベストアンサー獲得回数32010/05/04 15:52:06

ポイント100pt

横ベクトル (-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

となっています。

id:moon-fondu

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

「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」と、等しくなるということでしょうか?

2010/05/05 18:41:19

その他の回答(4件)

id:imo758 No.1

imo758回答回数121ベストアンサー獲得回数192010/05/04 11:36:29

ポイント20pt

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

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



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

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

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

id:moon-fondu

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

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

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

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

2010/05/05 18:40:58
id:ita No.2

ita回答回数204ベストアンサー獲得回数482010/05/04 12:01:41

ポイント25pt

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

行列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

とか。

id:moon-fondu

ありがとうございます!

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

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

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

2010/05/05 18:41:08
id:LaLaLa No.3

LaLaLa回答回数4ベストアンサー獲得回数32010/05/04 15:52:06ここでベストアンサー

ポイント100pt

横ベクトル (-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

となっています。

id:moon-fondu

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

「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」と、等しくなるということでしょうか?

2010/05/05 18:41:19
id:rsc96074 No.4

rsc回答回数4400ベストアンサー獲得回数4042010/05/05 16:19:41

ポイント100pt

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

 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+y-z=0・・・①

x-2y=0・・・②

  • x-2z=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

id:moon-fondu

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

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

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

2010/05/05 18:41:30
id:imo758 No.5

imo758回答回数121ベストアンサー獲得回数192010/05/05 20:45:21

ポイント30pt

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

\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軸で捉え直す行列になっています。

id:moon-fondu

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

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

2010/05/07 22:35:29
  • id:ita
    あ、記号を間違えてました。
    もとの行列がS、対角化したのをDとおくと
    tTST=D したがって左からT、右からtTをかけると
    Tt T S Tt T=T Dt T
    つまりS=T D tT
    なので、S S S .. S = (T D tT)(T D tT) ... (T D tT) = T D^n tT
    です。

    あと対角化することで、三次元の点にSをかける変換は、
    t1の方向に3倍伸ばし、t2の方向に1倍に伸ばし、t3の方向には0倍、つまりつぶす変換だということが分かります。
    そうすると幾何学的な意味がよくわかります。
  • id:LaLaLa
    ごめんなさい。いちばん大事なポイントのところで、行列の積の順番を間違えました。

    「対角行列 D を用いて D [u1, u2, u3] と書くことができます」

    と書いたところは

    「対角行列 D を用いて [u1, u2, u3] D と書くことができます」

    の誤りです(実際に手を動かして計算して確かめて見て下さい)。

    それ以降の部分も次のように書き直さないといけません。

       *

    つまり

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

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

    S U = U D

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

    U^(-1) S U = D

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

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

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

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

    ^t T S T = D

    となっています。
  • id:rsc96074
     すみません。上の①②③式は正しくは次の式です。行頭の「-」が「●」になってしまいました。
     -x+y-z=0・・・①
     x-2y=0・・・②
     -x-2z=0・・・③
  • id:LaLaLa
    >この2つを掛け合わせた値は、「3・u1」と、等しくなるということでしょうか?

    その通りです。
    掛け合わせた量 S u1 はたてベクトル ^t (-6, -3, 3) になります。 これはちょうど u1 の3倍です。
    きれいに定数倍になるのはu1がSの固有ベクトルだからです。
  • id:LaLaLa
    まず教科書で、行列どうしの積について学ばれたほうがいいかも知れません。

    たとえば
    2行3列の行列Aと3行5列の行列Bに対しては積ABを作ることができて、結果は2行5列の行列になります。

    Aの列数とBの行数が一致していれば、積ABを計算できるわけです。

    今の場合、Sは3行3列の行列。 たてベクトルuは3行1列の行列と思えるので、積Suが計算できて、結果は3行1列の行列(たてベクトル)です。
  • id:rsc96074
     行列の積についてはこちらが分かりやすいです。
    ●行列の積
    http://www.geisya.or.jp/~mwm48961/kou2/matrix2.html
    http://w3e.kanazawa-it.ac.jp/math/category/gyouretu/henkan-tex.cgi?target=/math/category/gyouretu/gyouretu-no-seki.html
  • id:moon-fondu
    >LaLaLaさん
    実際に「u1・S」を計算してみました!
          (2 1 -1)  ((-2)*2 + (-1)*1 + 1*(-1)) (-6)
    (-2 -1 1) (1 1 0)= ((-2)*1 + (-1)*1 + 1*0 )=(-3)
          (-1 0 1)  ((-2)*(-1) + (-1)*0 + 1*1) ( 3)

    で、「3・u1」と等しくなりました!

    でもちょっとわからない点がありまして。そもそも、Sの固有ベクトルu1は、どこから出てきたのでしょうか?問題文にも、解答にも、「(-2 -1 1)」という行列は見受けられないのですが・・・行列Sの1行目にマイナスをかけたら「(-2 -1 1)」が出てくる気がするのですが・・・でもそうだとしたら、どうしてマイナスをかけるのでしょうか?

    理解力が乏しくてすいません(>_<)



    >rsc96074さん
    ①~③は、

    (-1 1 -1)(x)
    (1 -2 0)(y)=0
    (-1 0 -2)(z)

    を計算すれば出てきますね!前回も教わって↓
    http://q.hatena.ne.jp/1269876748
    ました・・・

    (-1 1 -1)(x) ((-1)*x + 1*y + (-1)*z ) (-x+y-z)
    (1 -2 0)(y) = ( 1 *x +(-2)*y + 0 *z ) =(x-2y)
    (-1 0 -2)(z) ((-1)*x + 0*y + (-2)*z ) (-x-2z)

    いやはや鈍感ですね(>_<)

    でもすいません、まだ疑問がありまして。「x^2+y^2+z^2=1・・・④」における「x^2+y^2+z^2」は、何なのでしょうか?「固有ベクトルかな?」と思い、自分なりにいろいろ調べてみたのですが、「固有ベクトルはx^2+y^2+z^2=1で定義される」といった記述などは、見つかりませんでした(;_;)

    ですので、どうして「x^2+y^2+z^2」のが出てくるのかよくわかりません・・・度々すいません、もしよろしければ、再度ご回答いただければ幸いです(>_<)
  • id:rsc96074
    「x^2+y^2+z^2=1」というのは、画像の問題文中の「長さ1」の固有ベクトルという条件からです。長さが1の固有ベクトルを単位固有ベクトルと言います。
    ●公式集:線形代数
    http://docs.google.com/viewer?a=v&q=cache:dcoBIOLmoIIJ:www.ge.fukui-nct.ac.jp/~nagamizu/f-2-s.pdf+%E5%8D%98%E4%BD%8D%E5%9B%BA%E6%9C%89%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB&hl=ja&gl=jp&pid=bl&srcid=ADGEESh20uoJnBC1P8CtIdJKRqLGgVw9Ab7bToo_Bf2OWtCjjwnAbpGaJszj-R97YnyuGJbrYSHKtKK4tSJfXmgjTeMCKdZ40vAe6IqDB0cNw-gpRRWai3sVzoCvDaIDdAr3QEN3VavA&sig=AHIEtbQ8nIIsFI-otk1duFbBbhzaThxAjA
    ●ベクトルと行列 固有値と固有ベクトル
    http://www.snap-tck.com/room04/c01/matrix/matrix09.html
    ●固有ベクトルを求める
    http://www004.upp.so-net.ne.jp/s_honma/urawaza/eigenvector.htm
  • id:LaLaLa
    >そもそも、Sの固有ベクトルu1は、どこから出てきたのでしょうか?

    教科書などで、固有値・固有ベクトルの求め方を解説した部分をじっくりと読まれたほうがいいと思いますが、かんたんに述べると次の通りです。

    仮に、ゼロベクトルではない縦ベクトルuが、Sの固有ベクトルならば、定義により積 S u は、uの定数倍になるはずです。 そこで S u がuのλ倍であるとしますと(λはあとで決める実数で固有値と呼ばれる)

    S u = λ u すなわち

    (S - λ E) u = →0 ... (1)

    Eは単位行列、→0はゼロベクトルです。 ここでもし(1)の左辺の行列 (S - λE) が逆行列 (S - λE)^-1 をもつならば、(1)の両辺に (S - λE)^-1 を左からかけると

    E u = →0 すなわち u = →0

    となってしまって、uがゼロベクトルでないという仮定に矛盾します。

    つまり、(固有値λに対応する)Sの固有ベクトルuが存在するならば、(S - λE)に逆行列は存在しません。そうなる条件は「行列式がゼロであること」だと知られています。すなわち

    |S - λE| = 0

    です。行列式を計算するとλの3次方程式になり、解が3つ(λ=3, 1, 0)出てきます。解答例の通りです。

    3つのλの値のそれぞれに対して、対応する固有ベクトルが求まります。たとえば、λ=3の場合には、行列(S-λE)は(計算してみてください)

    -1 1 -1
    1 -2 0
    -1 0 -2

    となるので、u = ^t (x, y, z) とおいて、式(1)に代入すると

    -x + y - z = 0
    x -2y + 0z = 0
    -x +0y -2 z = 0

    となります。この連立方程式の解(のひとつ)を求めると
    (x, y, z) = (-2, -1, 1)

    です。 これが固有ベクトル u1 です。 (u1だけでなく、u1の任意定数倍もまた固有ベクトルです。)

    上の説明の後半のところは解答例や rec96074 さんの解説と重複しています。
  • id:moon-fondu
    >LaLaLaさん
    教科書にそれらしき解説がありました!
    「n行n列の行列Aと0でないベクトルxに対して、Ax=λxを満たすλを行列Aの固有値、xをλに対応する固有ベクトルという」というものです。

    なので、

    「n行n列の行列Sと0でないベクトルuに対して、Su=λuを満たすλを行列Sの固有値、uをλに対応する固有ベクトルという」

    ということですね!

    行列式を計算すると、

    -(λ-3)(λ-1)λ

    だから、λ=3, 1, 0が出てくるのですね。

    ありがとうざいます、LaLaLaさんの回答と、rsc96074さんの回答が、線でつながりました!

    >rsc96074さん
    リンクありがとうございます!
    でもすいません、まだちょっと理解できません(;_;)

    「n行n列の行列Aと0でないベクトルxに対して、Ax=λxを満たすλを行列Aの固有値、xをλに対応する固有ベクトルという」

    という、教科書の記述に従うと、固有ベクトルは、LaLaLaさんの回答におけるu、λ=3のときは、

    (x, y, z) = (-2, -1, 1)

    と、この値の任意定数倍が、固有ベクトルになると思います。

    同様に、λ=1のときは、

    (1 1 -1)(x) ( x + y - z  ) (x + y - z)
    (1 0 0)(y)=( x + 0*y + 0*z)=(x    )=0
    (-1 0 0)(z) (-x + 0*y + 0*z) (-x    )
    から、

    (x, y, z) = (0, 1, 1) と、この値の任意定数倍が固有ベクトルになり、
    λ=0のときは、

    (2 1 -1)(x) ( 2x + y - z  )(2x + y - z)
    (1 1 0)(y)=( x + y + 0*z)=(x + y   )=0
    (-1 0 1)(z) (-x + 0*y + z)  (-x + z  )
    から、

    (x, y, z) = (1, -1, 1)と、この値の任意定数倍が、固有ベクトルになると。

    そこまではなんとなく理解できたのですが、いきなり、

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

    が出てくるのは、理解できませんでして・・・。
    あと、rsc96074さんが“・・・画像の問題文中の「長さ1」の固有ベクトルという条件・・・”と回答してくださったのですが、問題文には「長さ1」という記述は、特にないのです。

    添付画像の黄緑色の水平線は、問題文と解答を分ける境界線のつもりでして・・・(^_^;)

    なので、解答に「~に対応する長さ1の固有ベクトルを~」と、自明の事実のように「長さ1の固有ベクトル」が、出てきていることが、そもそも謎なのです(>_<)

    rsc96074さんに貼っていただいたリンクも拝見したのですが・・・「固有ベクトル」と「固有ベクトルの長さ」はどう違うのか、なぜλ(固有値)に対応する"固有ベクトルの長さ"が、λ=3,1,0、全ての場合において常に1になのか、ほんとすいませんが、教えていただけないでしょうか?

    よろしくお願いします<m(__)m>
  • id:LaLaLa
    >自明の事実のように「長さ1の固有ベクトル」が、出てきていることが、そもそも謎なのです(>_<)

    以前の説明の記号をそのまま使います。
    U = [u1, u2, u3] ととると
    S U = U D すなわち U^-1 S U = D
    となります。これで対角化はできていますが、Uは直交行列ではないので題意を満たしません。

    u1, u2, u3をそれぞれ定数倍して長さ1にしたベクトルを解答例のようにt1, t2, t3とし
    T = [t1, t2, t3]
    とおくと、これらも固有ベクトルを並べたものなので、Uの場合と同様に
    S T = T D すなわち T^-1 S T = D
    が成り立ちます。

    今の場合、Tは直交行列になっていて、題意を満たします。

    一般にTが直交行列であるというのは、^tT T = E が成り立つということです。

    ^tT T = E を ^t[t1, t2, t3] [t1, t2, t3] = E のように書いて両辺の各成分を計算して比較すると

    ^t1 t1 = 1
    ^t1 t2 = 0
    ...

    など、9つの式が得られます。そのうち対角成分の3つの式は、t1, t2, t3がそれぞれ長さ1のベクトルであることを意味し、非対角成分の6つの式は、t1, t2, t3が互いに直交する(=内積がゼロ。t1・t2 = t2・t3 = t3・t1 = 0など)ことを意味します。直交行列という名前はこのことからきています。

    いまの場合、t1, t2, t3の長さが1であるのはそのようにとったので当然です。

    (なおt1, t2, t3が互いに直交しているのは、実は問題文のSが特別な行列(対称行列)だからです。各成分が実数である対称行列の、異なる固有値に対応する固有ベクトルは互いに直交することが知られています。)

    さて、^tT T = Eの両辺に右からT^-1を書けると ^tT = T^-1 がわかります。つまり、直交行列Tの逆行列は、Tの転置行列と同じです。このことを使うと

    T^-1 S T = D



    ^tT S T = D

    と書き直すことができます。これが解答例の形です。
  • id:LaLaLa
    ああ、記号のミスをしました。真ん中あたりで

    ^t1 t1 = 1
    ^t1 t2 = 0

    と書いたところは

    ^t t1 t1 = 1
    ^t t1 t2 = 0

    の誤りです。内積を使って書くと

    t1・t1 = 1
    t1・t2 = 0

    と同じです。
  • id:rsc96074
     直交行列だからです。
    ●直交行列による対称行列の対角化(その3)
    >2.行列 を対角化するとき、固有ベクトルを絶対値が1になるようなものとして選んだのはなぜか。行列 P が回転行列になったのはなぜか。
    >2つの固有ベクトルX1,X2は必ず直交する。そしてそれらの固有ベクトルの実数倍もまた固有ベクトルであるから、とくに絶対値が1となるものを選ぶことができる。そのように作られた行列 P は、次のような性質を満たす。
    p=(p r)ただしp^2+q^2=1 ,r^2+s^2=1 ,pr+qs=0・・・(3.3)
    ◇(q s)
    http://imasen.net/unitary-hermitian003.htm
  • id:moon-fondu
    >LaLaLaさん
    ありがとうございます、「直行行列」がどういうものなのか、少しだけ理解できたような気がします。
    しかし、9つの式のうち(予測ですが)、


    ^t t1 t1 = 1
    ^t t1 t2 = 0
    ^t t1 t3 = ?
    ^t t2 t1 = ?
    ^t t2 t2 = ?
    ^t t2 t3 = 0
    ^t t3 t1 = 0
    ^t t3 t2 = ?
    ^t t3 t3 = ?

    どれが「対角成分の式」で、どれが「非対角成分の式」なのか、その判断基準も含めて、よくわかりません(ToT)

    「t1, t2, t3が互いに直交する(=内積がゼロ。t1・t2 = t2・t3 = t3・t1 = 0など)ことを意味します」ということは、直行行列の固有ベクトルの長さは「0」なのですか?
    でも直行行列の固有ベクトルの長さは、解答例によると「1」ですよね?
    「内積が0」だから、0になるわけではないのですか?

    rsc96074さんが貼り付けてくださったリンクに「内積が0なので、対称行列の2つの固有ベクトルは直交する」とありますが、内積が0であることと、固有ベクトルの長さが1であることは、違うのでしょうか?


    また「右からT^-1を掛ける」というのは、何なのでしょうか?両辺に掛けるんでしたら、関係ない気がするのですが・・・「左からT^-1を掛ける」というのと、何か違うのでしょうか?

    あ、質問攻めしてすいません、理解力が乏しくてすいません(;_;)

    再度ご回答いただければ嬉しいです。もしよろしければ、お願いします<m(__)m>

    >rsc96074さん
    ありがとうございます!rsc96074さんが貼り付けてくださったリンクに、「2次の場合についてのみ考える」と記載されているのですが、この問題は、2次ではなく3次の場合でしょうか?

    すいません、貼っていただいたリンク先の情報と、

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

    の関係性が、未だ浮かびあがりません(ToT)

    「・・・そしてこの(3.3)を満たす行列Fを直行行列といい、さらに次のような・・・」辺りの箇所から、

    P=(p r) ただし p^2+q^2=1,r^2+s^2=1,pr+qs=0
     (q s)

    を、この問題に応用すればいい気がするのですが・・・そうすると、

    (2 1 -1)(x) (2x y -z)
    (1 1 0)(y)=(x y 0)
    (-1 0 1)(z) (-x y z)

    2x^2 + x^2 + (-x)^2 = 1
    y^2 + y^2 + y^2 = 1
    (-z)^2 + 0^2 + z^2 = 1

    と、「x^2+y^2+z^2=1」ではなく、上記の3つの方程式が出てくるのではないでしょうか?



    お二人ともお手数おかけしてすいません、なかなか理解できず・・・コメント欄だけでなく、回答欄もお構いなく使っていただいて構いませんので、よろしくお願いします(>_<)
  • id:rsc96074
     なかなかいいURLが見つからず、余分な情報まで含んでいるので混乱させてしまったかも知れません。とにかく、直交行列という用語のなかに、長さが1という条件が含まれています。
     ベクトルの長さが1と言えば、
    2次元ならば、↑a=(x,y)とすると、|↑a|^2=x^2+y^2=1,
    3次元ならば、↑a=(x,y,z)とすると、|↑a|^2=x^2+y^2+z^2=1
    と思って下さい。
    ●ベクトルの大きさ
    http://w3e.kanazawa-it.ac.jp/math/category/vector/henkan-tex.cgi?target=/math/category/vector/vector-no-ookisa.html
  • id:LaLaLa
    moon-fonduさん
    まず「直行行列」ではなくて「直交行列」です。(問題文はミスプリだと思います)

    直交行列というのは、行列内の列ベクトルが互いに90度の角度をなし、かつそれぞれが長さが1のベクトルであるような正方行列です。

    たとえば3×3の直交行列Tの各列を左から順に
    t1,t2,t3
    とします。以前の記号だとT = [t1, t2, t3]ですね。
    直交行列では、これらのベクトルはすべて長さが1で、かつ互いに直交するので9つの内積は

    t1・t1 = 1
    t1・t2 = 0
    t1・t3 = 0
    t2・t1 = 0
    t2・t2 = 1
    t2・t3 = 0
    t3・t1 = 0
    t3・t2 = 0
    t3・t3 = 1

    となっています。 さて、一般に列ベクトルaとbの内積a・bの値は、転置行列を使って表すと ^t a b とも書けます。(あるいは ^t b aでもOKです。)成分で書けば(3次元の場合)いずれも ax bx + ay by + az bz で同じ値になりますから。なので上の9つの関係式は

    ^t t1 t1 = 1
    ^t t1 t2 = 0
    ^t t1 t3 = 0
    ^t t2 t1 = 0
    ^t t2 t2 = 1
    ^t t2 t3 = 0
    ^t t3 t1 = 0
    ^t t3 t2 = 0
    ^t t3 t3 = 1

    と同じです。で、実はこれから説明するように、この9つの関係式は行列Tとその転置行列^tTを使って

    ^tT T = E ... (*)

    と簡単に表せます。ここでEは単位行列
    1 0 0
    0 1 0
    0 0 1

    です。

    確認ですが、Tは3つの列ベクトルを左からt1, t2, t3と並べた行列です。

    ^tTは、その転置行列なので、3つの行ベクトル ^t t1, ^t t2, ^t t3をたてに

    ^t t1
    ^t t2
    ^t t3

    と並べた行列です。

    ここで、たとえば、(*)の左辺 ^tT T で、左上の成分(第1行第1列の成分)を考えてみてください。 (行列の積の計算法を思い出して。^tTの1行目とTの1列目の各要素の積をとって足し合わせる、つまり、内積をとるわけです。)

    ^t t1 t1 になっているのがわかりますか?

    次に、(*)の左辺 ^tT T の、その右横の成分(第1行第2列の成分)を考えてみてください。 (行列の積の計算法を思い出すと、^tTの1行目とTの2列目の各要素の積をとって足し合わせる、つまり、内積をとるわけです。)

    ^t t1 t2 になっているのはわかりますか?

    こんな風に各要素を計算すると、(*)の左辺は
    ^t t1 t1 ^t t1 t2 ^t t1 t3
    ^t t2 t1 ^t t2 t2 ^t t2 t3
    ^t t3 t1 ^t t3 t2 ^t t3 t3

    を9つの成分にもつ3×3行列になっていますね。これらを(*)の右辺の単位行列に等しいおくと、9つの内積の関係がでてくるわけです。

    対角成分というのは、以下の3つ
    ^t t1 t1 = 1
    ^t t2 t2 = 1
    ^t t3 t3 = 1
    の関係式のことで、各列ベクトルの長さが1であることを表しています。

    非対角成分というのは、以下の6つ
    ^t t1 t2 = 0, ^t t2 t1 = 0
    ^t t2 t3 = 0, ^t t3 t2 = 0
    ^t t3 t1 = 0 , ^t t1 t3 = 0
    の関係式のことで、各列ベクトルが互いに直交することを表します。

    (内積は交換するので、同じ行に書いた2つの関係式は同値な式を表しています。なので独立な式は3つです。)

    > また「右からT^-1を掛ける」というのは、何なのでしょうか?
    > 左からT^-1を掛ける」というのと、何か違うのでしょうか?

    ^tT T = E

    の両辺に右からT^-1をかけると

    ^tT T T^-1 = E T^-1

    となります。逆行列や単位行列の意味を思い出しながら順に変形していくと

    ^tT (T T^-1) = E T^-1

    ^tT E = E T^-1

    ^tT = T^-1

    となり、直交行列Tの転置行列は、Tの逆行列と一致することがわかります。


    また、「左からT^-1を掛けるのと、何か違うのか」という点ですが、行列どうしの積では一般に交換法則が成り立たないことを思い出してください。

    一般には A B ≠ B A

    です。(正方行列でない場合には、積 A B が定義できても 積 B A は定義できない、ということすらあり得ます。)

    交換法則が(一般には)成り立たないので、行列をかける場合には、左から書けるのか、右からかけるのかを明記する必要があります。たとえば、いまの場合

    ^tT T = E

    の両辺に左からT^-1をかけると

    T^-1 ^tT T = T^-1 E

    となります。左辺は(なにか追加の情報でもない限り)これ以上変形できません。(右辺はT^-1と簡単にできますが。)

    行列どうしの積では一般に交換法則がなりたたないので、左辺の

    T^-1 ^tT T を、順番を勝手に入れ替えて

    ^tT T^-1 T (= ^tT E = ^tT)

    のようには書き直すことはできないのです。これが「右からT^-1をかけた」理由です。
  • id:LaLaLa
    先ほどのコメントで、真ん中あたりの式が読みにくくなってしまいました。

    こんな風に各要素を計算すると、(*)の左辺は
    ^t t1 t1 ^t t1 t2 ^t t1 t3
    ^t t2 t1 ^t t2 t2 ^t t2 t3
    ^t t3 t1 ^t t3 t2 ^t t3 t3
    を9つの成分にもつ3×3行列になっていますね。

    のところの行列は

    ^t t1 t1   ^t t1 t2   ^t t1 t3
    ^t t2 t1   ^t t2 t2   ^t t2 t3
    ^t t3 t1   ^t t3 t2   ^t t3 t3

    です。

  • id:moon-fondu
    >rsc96074さん
    リンクありがとうございます!
    ベクトルの大きさだったのですね~わかりました!


    λ=1のときは、

    x+y-z=0
    x=0
    -x=0

    より、

    x:y:z=0:1:1
    y=z=kとすると、

    0+k^2+k^2=1
    2k^2=1
    k^2=1/2
    k=√1/2

    λ=0のときは、

    2x+y-z=0
    x+y=0
    -x+z=0

    より、

    x:y:z=1:-1:1
    x=z=kとすると、

    k^2+k^2+k^2=1
    3k^2=1
    k^2=1/3
    k=√1/3

    ということですね!
    ありがとうございます<m(__)m>
    でも、ちょっとまだベクトルの内積や、ベクトルと行列の関係等をしっかり勉強できていないので、そこから出直したいと思います(^_^;)


    >LaLaLaさん
    丁寧にご解説いただき、本当にありがとうございます(>_<)

    >^t t1 t1 になっているのがわかりますか?

    はい。なんとなくわかります。解答例における、

    (-1 1 -1)(x)
    (1 -2 0)(y)=0
    (-1 0 -2)(z)

    の部分ですよね?
    内積の取得も意味していたんですね~。
    対角成分と非対角成分についても、ご説明いただきありがとうございます<m(__)m>

    行列どうしの積では交換法則が成り立たないんですね・・・すいません、何かすごく初歩的な質問でお手を煩わせてしまったような気がします。

    いやはや、もうちょっと自分の身の丈にあった問題から、徐々に線形代数などについて理解していこうと思います・・・(^_^;)
  • id:LaLaLa
    moon-fonduさん

    気になるので補足しておきます。混乱させてしまうかも知れませんが。

    >解答例における、
    >(-1 1 -1)(x)
    >(1 -2 0)(y)=0
    >(-1 0 -2)(z)
    >の部分ですよね?

    ちがいます(笑)。1つめの固有ベクトルt1を転置したものが

    ^t t1 = (x, y, z)

    のとき ^t t1 t1 は以下のようにt1の長さの2乗になっています。

                      (x)
    ^t t1 t1 = (x,y,z)(y)
                      (z)

    =x^2 +y^2 +z^2

    t1の長さが1ならば、x^2 +y^2 +z^2 = 1 つまり ^t t1 t1 = 1 です。

    また、2つめの固有ベクトルt2を転置したものが

    ^t t2 = (p, q, r)

    のとき ^t t1 t2 は以下のようにt1とt2の内積(t1・t2 = |t1||t2|cosθ)になっています。

                      (p)
    ^t t1 t2 = (x,y,z)(q)
                      (r)

    = x p + y q + z r = t1・t2

    2つのベクトルt1とt2が直交するならば、t1・t2 = 0 つまり ^t t1 t2 = 0 です。

       *

    行列Sの固有ベクトルは、Sの成分を眺めてもわからないし、Sの成分を並べたものでもありません。固有値が満たす3次方程式を解いて、そのあとで(解が1つに決まらない)連立方程式を解いて初めてわかります。

       *

    対角化の話の大きな流れを復習すると、問題文の行列Sの3つの固有ベクトル u1, u2, u3(ただし、長さ1とは限らない)をならべて行列 U=[u1, u2, u3] を作ると

    U^-1 S U

    が対角行列になります。でも ^tU S U は(一般には)対角行列ではありません。

    しかし、 3つの固有ベクトル u1, u2, u3の長さが1ならば、

    関係 U^-1 = ^tU (←Uが直交行列であるということ)

    が成立するおかげで

    ^tU S U (= U^-1 S U)

    が対角行列になります。

    LaLaLaが書いた対角化の話のメインの部分は、最初の回答の前半で終わっていまして、それ以降は延々と、なぜU^-1を^tUで置き換えていいのか、という直交行列の話をしていました(問題文では直交行列の記号はUではなくTですが)。

    読み直されることがあれば、この直交行列の部分の話はメインではなくてつけたしだということを覚えておいてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません