BigHope's Life

BigHope's Life

outputの練習

行列の基本変形というやつについて

 

 

 

基本変形は次の3つ。

 

行に関する基本変形

  1. ある二つの行を入れ替える。
  2. ある行に別の行の何倍かを足す。
  3. ある行を何倍かする。(ただし、0倍は許さないとする)

 

列に関する基本変形については、上の「行」を全て「列」に変えれば良い。

 

 

ここで重要なのは、単にこれらを暗記することではなく、基本変形とはどういうことを行なっているのか?を実感を伴って理解することである。

 

考え方の本質を理解したいのなら、2行2列の行列で考えれば十分。

 

基本変形とは何か?

基本変形とはどういうことを行なっているのか?について。

 

パソコンに足し算などの処理をしてほしいとき、「これこれを足し算してくれ」と日本語でお願いしても無視されてしまう。日本語をプログラミング言語に翻訳しないと伝わらない。これは日本語を話せない人に我々が指示を出そうとする時に似ている。

行列の世界でも同じ。「これこれの基本変形を施したまえ」という日本語の命令は行列は理解してくれない。だから我々は「日本語」を「行列語」に翻訳して命令を出さなければならない。

 

 

 

 

例えば、次のように2行2列の行列Aを考えてみる。(字雑でごめん)

f:id:BigHope:20170930160727p:plain

これに、次の行列Pを左からかけ算してみる。

f:id:BigHope:20170930160810p:plain

 

この結果より、

日本語の「行列Aの1行目と2行目を入れ替える」という指示は、行列語では「行列Pを左からかける」と翻訳されることがわかる。

 

同様に、

f:id:BigHope:20170930161020p:plain

日本語の「行列Aの1行目に2行目のm倍を足す」は、行列語の「行列Qを左からかける」に翻訳される。

 

また、

f:id:BigHope:20170930161214p:plain

日本語の「行列Aの1行目をm倍する」は、行列語の「行列Rを左からかける」に翻訳される。

 

 

右からかけると、「行」が全て「列」になる。

 

 

また、当然だが、PP=I(単位行列)となるので、PPA=Aとなる。これは日本語で、「行列Aの1行目と2行目を入れ替え、1行目と2行目を入れ替える」に対応するので、確かにわかる。

これは、

基本変形が「取り消し可能な命令」であること

を示唆する。

また、命令の意味を考えれば、取り消しは簡単に行えることもわかる。

 

実際に上の残り2種類の命令を取り消してみる。

f:id:BigHope:20170930162424p:plain

「Q'を左からかける」〜「1行目に2行目の(-m)倍を足す」の対応

 

f:id:BigHope:20170930162429p:plain

「R'を左からかける」〜「1行目を1/m倍する」の対応

 

 

さて、以上からわかったこと。

P,Q,Rという基本行列にはそれぞれ逆行列があり、対応する基本変形の意味を考えることで簡単に逆行列を求めることができる。

(上で考えた「取り消し操作」は、逆行列で打ち消すことに対応する。)

 

 

日本語と行列語の対応をまとめてみると、

「日本語」の表現〜「行列語」の表現

 

 

となる。

 

さて、我々が「基本変形」と呼ぶものについて、

  • 間違った命令が取り消せる
  • 変形の意味を考えれば取り消し命令が出せる

ことがわかる。

 

複雑な命令は基本変形の組み合わせで表せるので、初めにあげた3つを「基本変形」と呼ぶのである。

 

 

続き↓

 

bighope-life.hateblo.jp