忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[3544] [3542] [3541] [3540] [3539] [3537] [3536] [3535] [3534] [3533] [3532]
ユニタリ生成子は次のようになります。



見通しがよくなるように、次のように書き換えておきましょう。
 

これを、セルに実装してみます。

最終目的としては、このエルミート行列に-iをかけた歪エルミート行列を行列指数関数に放り込んで、高次元のユニタリ行列(回転行列のようなもの)にするのが目標なので
θ1からθ15までの値は、すべて-π~πの中に納まるはずです。

そこで、とりあえずの処置として、疑似乱数rand()関数を使います。
rand関数は0~1の一様乱数なので、1/2を引いてからπをかけるとよいでしょう。


次に、複素数a~fと、実数w~zを定めます。
a*などのアスタリスクのついた複素数は、複素共役を意味します。
たとえば、b*はbの複素共役ですので

a=complex(θ1,θ2)などというように、a~fを定め
それぞれの複素共役は、imconjugate(a)といった風に実装します。

また、x=θ8/√3、y=θ15/sqrt(6)です。

aとb、bとcなどはセル1個分ずれているのに対し、θ1、2ペアとθ4、5ペアがセル2~3個分ずれているので、2~3個下にいったんコピペーしてから、上に戻すようにカッペーしてやると効率がいいです。
セルの乳首をつまむと、参照した部分が赤面するので、ぶっこんだごとに、どこの穴を参照したのか、色を当てにして確認するとよいでしょう






できあがった行列がこれです
 

エクセルのエンジニアリング関数に入っている、複素数のためのライブラリ関数は
なぜか1つのセルに複素数を文字列として詰め込む仕様なので
あまりうまく整って出力されません。
今回は、見やすいように小数点以下1桁までで表示してます。

せめて、行列のように配列関数であるとありがたいのですが・・・


また、行列のためのライブラリ関数とも相性が悪いので、複素行列が扱えない仕様となっております。


そのため、行列の基本演算を、手動で行っていくことにします。


固有値を出す前に、腕慣らしとして、この4次行列の行列式を求めてみましょう。
4行4列の場合は、サラスの公式が使えないので、3次になるまで余因子展開を行いましょう。

ここでは、1行目に着目して、
1列目の余因子、2列目の余因子、3列目の余因子、4列目の余因子を算出し
そこからサラスの方法を用いて行列式を出してから
合計して4次本来の行列式を求める方法をとります。


まず
1行目の1列目から4列目の数値を右側に参照して出しておきます。
 

それから、余因子展開ができるように、「列の追加」で、
それぞれの列を参照したスペース同士の間に隙間を作っておきます。
2列ずつ追加になりますね。
 

画像クリックで大きな画像が見れます


各列の代表の下に、余因子を並べていくと、次のようになります
 

画像クリックで大きな画像が見れます

3次の行列式になったので、もうサラスの方法が使えます。
複素数の掛け算improductを使って、掛け算しましょう。
プラスの掛け算と、マイナスの掛け算がそれぞれ3項ずつあるはずです。

 

画像クリックで大きな画像が見れます

3要素の掛け算が3セット出そろったら、プラスからマイナスを引きます。
imsub関数を使います。この関数は二項演算用です。

プラスからマイナスを引いた3つの複素数が算出されたら、その3つを足しましょう。
imsum関数を使います。この関数はimproduct関数同様、二項ではなく多項演算用の関数です。

それから、各列の代表値を再度表示するのですが、1行目1列目から数えて奇数回隣に移ったものの符号はマイナスなので、そこに注意。

 
画像クリックで大きな画像が見れます


たとえば、2列目と4列目の代表、赤の印をつけたところは符号を反転させています。
imsub(0,なんとか)
といった使い方をしてます

そして最後に、符号も考慮した各列の代表×3次の行列式を4列すべて足せば
4行4列の複素行列の行列式が出せます。


エルミート行列の固有値はすべて実数なので
行列式もちゃんと実数になっている(ちょっと誤差あるけど)ことがわかるかと思います。



これは、あくまで行列式を求める計算を、腕慣らしに行っただけなのですが
次はいよいよ、
固有値を求めてみましょう。


固有値をいろいろ変えて、てさぐってみるイメージなのですが
お気づきの方もいるかと思いますが
固有値をてさぐらせるために行の部分を使ってしまうため
残りの演算をすべて1行にまとめてしまわなくてはいけません。

これをコピペーで行うには煩雑で、参照ミスもたくさん出てしまいがちなので
こういうときに役に立つのがカッペーです。

カッペーは、コピペーとは違って、セルの内容ではなくポインタを移動させる方法をとるため
絶対参照にしなくとも、セル参照のズレが起きません。

その代わり、リファレンスエラーが起きやすいデメリットもあります。
操作を間違えた場合は、手動で治すよりも、「元に戻す」を行ったほうが間違いが少なくてすみます。


つづく

拍手[0回]

PR

コメント


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


忍者ブログ [PR]
カレンダー
03 2024/04 05
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にできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析