忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[2471] [2470] [2469] [2468] [2467] [2466] [2465] [2464] [2462] [2461] [2460]
指数関数に行列をぶち込む際に必要になってくる固有値・固有ベクトルや対角化の問題

ネットの海に転がってる、とあるExcelの行列アドインを追加すると、固有値・固有ベクトルを算出してくれる関数が得られるのですが、残念なことに実対称行列だけが対象なのです・・・掛け算は複素に対応してるのになぁ

非対称までとは言わずも、せめてエルミート行列に対応してほしかった~なんて欲を言っても仕方ありませんが

手計算で算出した固有値・固有ベクトルを与えることで
同じアドインで検算なら可能です。
(ソルバーがどうとかいう話もあるようですが僕はまだよくわかりません><)



パウリ行列
たとえばパウリ行列のy成分σy の固有値は±1で、
固有ベクトルは固有値+1ならy成分σyの固有ベクトルその1
固有値-1ならy成分σyの固有ベクトルその2なので
対角化のための行列Uはσy対角化のためのユニタリ行列 になります。


このUの逆行列をExcelで求めてみましょう。

オフィス付属の拡張アドインでも、逆行列を求める関数Minvがあると思いますが
今回は要素が複素数なので、行列アドインに入っているMinvC(エム陰部しぃ)を用います。
Mは行列、Cは複素数の頭文字、invは逆の頭3文字です。

引数が2つあります。2つ目の引数は、複素数をどう扱うのかを決めるオプションです。
複素行列タイプ1 
このような形であれば1を

複素行列タイプ2
このような形であれば2を

複素行列タイプ3
このような形であれば3を選んで末尾にシャープを押してください。


ただ、3の場合は文字列として扱われるのであまり便利とは言えません。
また、1は省略することが出来ます。
インプットもアウトプットも同じ形になります。


今回求めたいのはU=対角化行列の逆行列なので、
ユニタリU このように記述してMinvCを適当なセルに打ち込み、引数の2行4列を範囲選択し
代表を算出してから、
求めたい範囲である2行4列を範囲選択して、ctrl+shift+enterを押すと、行列全体に反映されます。
ユニタリUの逆行列 
結果はこうなりました。
U^-1=ユニタリUの逆行列 
つまりこういうことですね。


それではこのσyを対角化してみましょう。


行列の掛け算関数Mmult(えむマルチ)もオフィスにはついているのですが、これも複素数対応ではないので
アドインの関数MmultCを使って計算します。使い方は逆行列と同じですが、当然掛け算は2項演算なので、引数が1つ増えます。

U^-1×σy×Uと、3項演算(3重積?)なので、慣れてきたらMmultCのネスト(入れ子)にしてしまいましょう。
MmultC(U-1,MmultC(σy,U))
Excel関数で複素の対角化
パウリ行列がエルミートかつユニタリなので、しっかりと絶対値が1で実数の固有値が、+1から-1の順に算出されているのがわかると思います。



あとは先日の日記のとおりです。

第一段階として、パウリ行列σyを、そのままべき乗展開した級数近似を見てみましょう。
パウリ行列y成分のべき級数展開(そのまま)
0乗(単位行列)から10乗の項までの和を取っています。
4乗から8乗までは略してあります。
左のブロックではべき乗、真ん中のブロックではべき乗の結果を階乗で割り
右のブロックでは累積させています。
角度θ=180°で、しっかりと、マイナスの単位行列-Eになっていることがわかります。(オイラーの等式)
純虚数成分と非対角成分がほぼゼロに収束してることがわかるかと思います。




第二段階として、対角化してからの級数展開の様子を示します。
固有値が±1なので、それに虚数単位と角度iθをかけて計算しています。
左・中・右のブロックは先ほどと同様、べき乗を→階乗で割り→累積
最後に下の段で対角化のためのユニタリ行列で挟んで掛け算しています。
パウリ行列y成分のべき級数展開(対角化のち)
対角化して計算しても、結果は変わらないことがわかると思います。


対角化した際に便利な計算として、第三段階の級数展開を示します。
パウリ行列y成分のべき級数展開(おもっくそ解析的)
もはやスカラーです!
級数展開が解析的に計算できてしまいますので!結果が回転行列そのものであることがわかってしまうと思います!



そんじゃ任意の角度θで回してみましょうか。

第1段階 行列そのままべき乗
cosやsinが1を超えたら赤くマークしてます。
左が第1段階、右が第3段階でのグラフをモニタしてます。
どうも虚部がちょっと上方修正されて算出されてる感じでしょうか。
行列そのままべき級数展開で回転行列

第2段階 対角化しつつもべき乗は数値計算する
これも、cosやsinが1を超えたら赤マークしてます。
10乗の項までだともう少し収束が足りない感じでしょうか
対角化してからべき級数展開で回転行列

第3段階
綺麗に円を描いていると思います。
おもっくそ解析的にべき級数展開して回転行列

まあよかったらDLでもして遊んでやってください。
注意1:matrixアドインは各自で入れることになると思います
注意2:回転させるのに循環参照を使っているので、動かなかったら設定しといてください。
(第2、第1段階の角度θは第3段階を参照してます:同期)


回し方を100万くらい×(now-today)に変えたこっちも用意しておきます。
循環参照でつまずいたら使ってやってください。(ただしアドインはどうにもなりません)



ブログランキング・にほんブログ村へ
にほんブログ村

拍手[0回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析