TETRA'S MATH

数学と数学教育

作用する行列

 行列の1次変換の有名な実践に「小沢猫」があります。1975年頃に小沢健一先生が発案されたものです。

tomodak先生のページ↓
http://www.osaka-kyoiku.ac.jp/~tomodak/
grapes/resource/bin/LinearMap.pdf


 1つの点(xとyの組)を、1つの行列を使って移動させることで、猫ちゃんがいろいろな形、いろいろな向きに変換されます。

しもまっち先生のページ↓
http://www5b.biglobe.ne.jp/~simomac/
grimg/grp18.htm


 このときの行列は、“はたらきかけるもの”という感じがします。

 つまり、上記の行列は、拡張された「帰一法」で確認したベクトルの Y=AX という式のAにあたるものにも見えてきます。
 
 一方、お会計不透明カフェでは、不透明な単価の組に、ひとつだけ「1」を要素としてもつ縦長ベクトルをうしろからかけてやることで、それぞれの単価を知ることができました。その縦長ベクトルを組み合わせてつくったのが単位行列ですが、この単位行列はもとの行列をそっくりそのまま再現することができます。

 また、1と0の縦長ベクトルの組み合わせをかえると、はたらきかけて1列目と3列目を入れ替える行列や、全部2列目だけにしてしまう行列もできます。

    

 上記のような1と0で構成された行列は、どの行列に対しても同じ作用を起こしますが、1つの行列に対して、その行列だけに意味ある作用を起こす行列もあります。

 たとえば、逆行列。うしろからかけても、前からかけても、単位行列にすることができます。

   


(つづく)
行列 | permalink

フィボナッチ数列の一般項を行列で求める

 そういえば砧文夫『初等代数学』のいちばん最後にフィボナッチ数列のことが載っていたけれど、あれはなんだったのだろう?と開いてみたら、「有限体の性質を用いてフィボナッチ数列の意外な側面を照らし出す」という内容のものでした。その前半でフィボナッチ数列の一般項が出てくるのですが、なぜこの式が出てくるのか知りたい人は線形代数学の固有値のところを勉強してみましょう、というようなことが書いてあって、「?」となった私。そういえば、フィボナッチ数列の漸化式を行列で表したものを見たことがあるな。

 というわけで、フィボナッチ数列 0、1、1、2、3、5、…… の一般項を行列で求めてみることにしました。

 まず、フィボナッチ数列の隣り合う2項に「ある操作」をすることで、次の2項を作れるような行列を考えます。

  0、1 → 1、1 → 1、2 → 2、3 → 3、5 → ……

   

 この「ある操作」は、次の水色部分のような行列で表せます。

   

 最初の0と1に水色の操作を1回行えば1と1が出てくるし、2回行えば1と2、3回行えば2と3、4回行えば3と5が出てくることになります。つまり、水色の操作をn回行えば、第n第と第(n+1)項が出てくることになります。(第0項を0と考えています)



 なので、水色の行列のn乗を知りたい。

 そうして思い出す、去年の行列のお勉強。いま思えばあの頃はほんとに身の程知らずなところから勉強を始めたもんだ…。われながら果敢であったことよ。

 さて、いまの私には、「ある行列のn乗を求めたい」というシンプルな希望があります。そうするためには確か固有値と固有ベクトルが便利だったはず……という記憶を頼りに行列の計算をしてみます。

 まず、この水色の行列の固有方程式を解いて固有値を求めると、

   
   (おなじみ黄金比が出てきます。)

 2つの固有値をα、βとして、固有ベクトルを求めると、



 したがって、固有ベクトルをもとに次のような行列Pをつくり、Pの逆行列を求めます。



 あとは、行列のかけ算をラクにするのときと同様に考えて、



 したがって、(0、1)に水色の行列の操作をn回行うと、



となり、フィボナッチ数列の一般項は



 母関数から求めた一般項と一致してうれしいけれど、うれしさ半分、不安半分。そうなってほしいあまり、どこかでズルしてないかな…
行列 | permalink

行列のかけ算をラクにする

 「Google のページランク・04」で考えたショッピングモールの問題において、10:45くらいまでだったら何とか手計算で結果が出せますが、これが夕方5時くらいにどうなっているか(そんなに長く買い物するのかという問題はおいといて)、あるいは24時間後はどうか・・・と考えていくと、手計算ではなかなか大変です。

 で、何かいい方法はないかというときに、行列の対角化が便利なんだなぁ、ということがようやくわかってきました。

 「エルミート行列・03」で出てきた例を使って確認します。5、1、2、6 からなる2×2行列は、固有ベクトルを使ってつくった行列とその逆行列ではさむことにより、固有値を成分とする対角行列に変えることができました。

   

 なので、5、1、2、6 からなる2×2行列を3個かけたときの結果を知りたいときは、次のように考えることができます。

 まず、左辺を3個かけると次のようになり



 これは右辺を3個かけたものと同じになります。



 なので、



という式ができます。よって、次のように答えが求まります。



 同じようにしてn個の場合を考えると、次のようになります。

行列 | permalink

エルミート行列・05

 というわけで、エルミート行列をユニタリ変換によって対角化すると、もとのエルミート行列の固有値を成分とする対角行列になるらしいということがわかりました。2×2行列の場合のみについて考えただけですが、なんとなく雰囲気はつかめてきた気がします。

 あと、エルミート行列を対角化してできる行列の固有値は、もとのエルミート行列の固有値と一致するというのもなるほどなと思いました。というか、固有値を変えないように変換したという話なのだろうか。

 そして、「エルミート行列」というのは固有値がすべて実数なのだから、ユニタリ変換で実数のみを成分とする対角行列に変えられる、ということなのでしょう。だから物理量を扱う計算で重宝するのだろうか?

 でも、複素数で考えるから便利なときもあるはず…。複素数で考えると便利なときと、実数だけだから便利なときのちがいはいったいなんなんだろう?

 とりあえず、エルミート行列の固有値はすべて実数なのかどうか、2×2行列で素朴に確かめてみました。

   
  
 なるほどそうなるようです。途中の計算で複素数どうしをかけあわせるとき、互いに共役だから虚部が消えるところがミソだな。せめて3×3行列くらいまではがんばってみようと思ったのですが、途中でギブアップです。一般的な場合の証明も一応よんでみましたが、よくわからず。でも、だいたい気がすみました。

 さて、そろそろヒルベルト=ポリヤ予想にもどらねば。
行列 | permalink

エルミート行列・04

 さて、「エルミート行列はユニタリ変換によって対角化される」という話。「ユニタリ行列」の例をいっしょうけんめい検索するものの、どのページもこむずかしい記号でしか説明がされていなくて、なかなかその実体がつかめずにいました。で、こちらのページの演習問題でやっと具体的なユニタリ行列に出会いました。この問題を参考にさせていただきながら、自分でつくった次の2×2エルミート行列について、ユニタリ変換を考えてみたいと思います。

   

 まず、固有値を求めると、

   

 で、このあと固有ベクトルを求めるのですが、こちらのページで知った裏技(?)にちょっと感動したので、この機会に使ってみます。

 2次正方行列の固有値の2つをm、nとすると、固有値mに対する固有ベクトルは、A−nI の列ベクトルになり、固有値nに対する固有ベクトルは、A−mI の列ベクトルになるらしいのです。(Iは単位行列)

   

 だから、固有値−2に対応する固有ベクトルは(−1,2−i)や(2+i,−5)になり、固有値4に対応する固有ベクトルは(5、2−i)や(2+i,1)になります。なんてラクなんだ。

 で、これらのベクトルを使ってユニタリ行列をつくりたいのですが、その前に「正規化」という作業が必要らしいのです。簡単にいうと、大きさを1にすることのようです。変換させたときに内積を変えないようにするためなんだろうか? よくわからないのですが、とりあえず「こういうことかな?」と推測した方法でやってみます。

   

 というわけで、いちばん最初の行列を対角化できるユニタリ行列が得られました(はず)。

     

 直交行列の場合は、左から転置行列をかけてやると単位行列になりましたが()、ユニタリ行列の場合は、左から随伴行列(共役転置行列)をかけてやると単位行列になるそうです。

     

 なりました。よかった。

 対角化はどうだろう?(なお、ユニタリ行列の逆行列をとるには共役転置行列にすればいいらしいです)

     

 うまくいきました。よかった。ちゃんと固有値も現れています。(辻褄をあわせるためにどっかで計算のズルをしていないだろうか!?)

 実数の世界の直交行列と、複素数の世界のユニタリ行列が対応するのなら、直交行列も何かの行列を対角化してもよさそうです。で、するそうです。対称行列(左上から右下の斜めの線を軸として線対称の位置に同じ数が並んでいる行列)のみ。考えてみれば、エルミート行列のなかの複素数の虚部を消したら、実数の対称行列になるのだから、なるほど納得、です。

(つづく)
行列 | permalink

エルミート行列・03

 次に、行列の対角化とはなんぞやということを考えてみます。対角化というのは、ある行列を対角行列(行列の左上から右下にかけての斜めの部分にだけ数があって、それ以外はみんな0になっている行列)にかえることらしいです。

 対角行列って何がいいのかなぁ、単位行列の各成分をバラバラに何倍かしたような感じだよなぁ、と思いながら特に意味もなく次のような計算をしていたら…

   

 同じ行にならんだ2つの数のかけ算を見て、ふと固有値のことを思い出しました。あ、そうだ、ここで固有値と固有ベクトルが出てくるんだ、きっと。(ちょっと復習↓)

     

 「行列の固有値・03」と同じ2×2行列で考えると、固有値4に対しての固有ベクトルの1つは(1,−1),固有値7に対しての固有ベクトルの1つは(1,2)なので、次の2つの式がつくれます。

     

 この2つをまじまじとながめて、合体できないかと考えたとき、(1、−1)のほうには4だけをかけて、(1、2)のほうには7だけをかけたいのだから、

     

 おお。対角行列があらわれたぞ。

 両辺に左からの逆行列をかけると……

     

 おお。対角化できたぞ。

 ずいぶん我流でおおざっぱですが、こんな解釈はアリなのだろうか。

 ん……? てことは、ある行列を対角化すると、もとの行列の固有値を成分とする対角行列になるってことなのかな?

(つづく)
行列 | permalink

エルミート行列・02

 「ユニタリ変換」というのは、たぶん、実数の世界でいうところの「直交変換」なのではないかと思われます。「直交変換」を複素数まで拡張したものが「ユニタリ変換」ということなのかな?

 直交変換というのは、任意のベクトルの内積が変化しない(長さや角度など量的なものを変えない?)ような変換のことらしく、平面においては、原点のまわりに回転させるか、軸について対称に移す、つまり反転させるしかないということで、いちばん簡単な例は次の2つのようです。

   

 それぞれの行列で変換させた一例です。

<回転>


<反転>


 一応、式でも確認しておこうっと。

 平面で考えると、2つのベクトルの内積は次の式で与えられるので、

   

 変換したあとも2つのベクトルの内積が変化しないとき、



 係数比較ですませていいのかわからないけれど、とりあえず次の3つのことがいえそうです。

     

 ああ、なるほど、やっとわかってきたぞ。ということは、この行列の転置行列を左からかけてやれば、単位行列になるのだ…。

     

(つづく)
行列 | permalink

エルミート行列・01

 エルミート行列というのは、次のような形をしている行列のようです。

   

 下図の黄色部分に並んだ要素は実数で、この線について線対称の位置に互いに共役な複素数が並んでいます。

   

 話の流れとしては「固有値がすべて実数になる」ということで登場したエルミート行列ですが、この行列のイメージをつかむには、まず、「自己随伴行列」であることや「ユニタリ変換によって対角行列になる」(そうするために作られたものである?)ということを考えるとよさそうな感じです。

 随伴行列というのは、行列の行と列の要素を入れ替えたあと(転置行列)、複素数を互いに共役なものに変えてできる行列のようです。



 「転置複素共役をとる」「エルミート共役」という言葉もあるようなんですが、これは同じことを言っているのだろうか? で、エルミート行列の転置行列をとって、複素数を互いに共役なものに変えれば、もとの行列と同じになるので、「自己随伴行列」ということなのでしょう。

 じゃあ、「ユニタリ変換で対角行列」とはどういうことなのか? これがまたひと勉強になりそう・・・。なにしろ前提となる知識が乏しすぎて、いちいち基本にもどって考えていかねばなりません。私は目的地にたどりつけるのだろうか。いまやっていることがどう素数とからんでくるのか、まったく想像もつきません。

(つづく)
行列 | permalink

行列の固有値・06

というわけで、行列

の固有方程式が求まりました。



です。

 この方程式を解くところまでなんとかがんばりたかったのですが、3分の1ほどの作業をした時点で、手計算で結果を出せるようなものではないらしいということがやっとわかりました。

 でも、4次方程式の解法の雰囲気が味わえてよかったです。とりあえずフェラーリの方法というものを試してみました。ほかにもいろいろと解き方があるようです。このフェラーリという人はカルダノの召使いだったそうで、才能を認められて弟子になったのだそうです。計算に疲れたときには、検索の途中で見つけた3次方程式の解法にまつわるエピソード---カルダノとタルタリア(フォンタナ)の論争など---を読みながら頭を休めました。

 さて、上記の固有方程式の解ですが、次の4つになるそうです。(小数点以下5桁まで)

   1.38087
   7.03608
   1.29152−2.62195i
   1.29152+2.62195i

 実数解が2つと、互いに共役な複素数解が2つ。方程式の係数がすべて実数なので、複素数解が互いに共役であることに不思議はないのですが、もうひとつ行列とのトレースとも関係してくるようです。2次の場合しか確認しなかったけれど、この場合も行列のトレース 2+3+2+4=11 と固有値の和は一致するのだそうで、ということは複素数解の虚部の和は0になってもらわないと困るわけで、互いに共役であることもうなずけます。

 で、固有値がすべて実数になる行列というものがあって、それが「エルミート行列」というものらしいのです。当面の目標()である「ヒルベルト=ポリヤ予想」の中に出てくる「エルミート」という言葉にようやく出会いました。
行列 | permalink

行列の固有値・05

 とにもかくにも、3次、4次の行列式、固有値を求めてみたいので、『素数に憑かれた人たち』に例として出されている次の4×4行列で練習してみます。なお、本の中で求め方は示されていませんが、固有方程式は載っているので、答えがあっているかどうかはわかります。

     

 この行列の固有値を求めるには、「行列の固有値・02」と同じように考えて、次の行列の行列式を求めねばなりません。

     

 そのためには、下のピンク・水色・緑・黄色の部分に注目して(1列目のひとつの数)×(3次の行列式)の和を考えなければならないらしいのです。(計算例として)





 符号が+だったり−だったりすることについては、またひと勉強になってしまいそうなので、とりあえずこちらのページなどを参考にさせていただいて、そうなるものとして先にいきます。

 まずはピンクの中の3×3行列の行列式を求めることにします。そのために今度は次の赤枠、青枠、黄枠に注目して、(1列目のひとつの数)×(2次の行列式)の和を計算しなければなりません。







(途中で0が出てくるとほっとするなぁ)

というわけで、ピンクの部分の式は次のようになることがわかりました。

 

(緑は0になるのでそのままおいといて)水色、黄色についてもがんばってみます。



というわけで、行列式が求まりました。

 

ふぅ。

 なんとか答えはあいました。でも、プロセスが正しいのかどうかについてはまったく自信がありません。なお、行列式を求めるときにはもっと効率的な方法があるらしく、たとえば3次の場合は「サラスの方法」というのが便利なようです。また、4次の場合は行列式の性質を使って数値を簡単にしていけばもっとラクに計算できるそうです。

(つづく)
行列 | permalink
  

| 1/2PAGES | >>
サイト内検索