論文を書くと宣言したものの、スピン波の計算がどうにも気になってる。
分散関係はどうにかなってきたのだけど、モードの理解と強度の計算が未だ進まず。
今日もいろいろと考えて、Fortranの計算コードをいじって、行列の数値対角化のアルゴリズムが上手く動いているか等色々考えてました。
一緒に研究を進めている卒研生も頑張っているのだけどなかなか突破口が見つからず。
もう無理かもということで、共同研究者の人に教えを請うためのメールを書こうとした時に、ふと、プログラム中で計算した複素数の量を極座標で書き出していた部分を見てみたら、、ミス発見。
複素数A + iBを C*exp(iθ)と書き直す際にθ=tan-1(B/A)とやってた。これじゃぁA,Bの符号の情報が消えてしまって、正しい位相が出せないのは自明。なにやってんだ、、今まで書いてきた他のプログラムではこの辺の問題は回避するようにしてあったのに、なぜ今更こんなミスを、、、と自分のアホさ加減にがっかりしました。
すぐに計算し直してみると、すごくすっきりとした結果が出てきた!ということで、一つ肩の荷が下りて年を越せそうです。まだ強度計算が残っているけど、一歩前進。