圧力論文はversion 3.0へ。新しい図も追加して論点も大分はっきりしてきた。投稿も近いか。
最近ある計算をしてて、複素行列の逆行列を数値計算で求める必要が出てきた。最初は後輩君にMathematicaでやってもらってたんだけど、結果をファイルに書き出したり、他の計算で使った数値をテキストファイルから読み込んだりするのにMathematicaだとやはりめんどくさい。
何とかFortranで出来ないかなぁとWeb上を眺めてたら、こんなの発見。
Jim Lux's Radio Web site > Radio Math Stuff > Inverting Matrices
アマチュア無線をやっている人の覚書らしい。複素行列を実部と虚部それぞれの行列にしてそれを合わせて2倍の大きさの行列をつくり、それの逆行列を計算すると、元の複素行列の逆行列が分かる。
その2倍の大きさの行列は実数の行列なので、普通の掃き出し法で逆行列が求まっちゃうのが上手いところ。
Web pageの「Why it works...」の所でちゃんと説明されると、おお、なるほどって感じだけど、こんなの全然知らなかったわ。
早速fortranでコードを書いて、検算もしてみて、元の行列とかけ算して単位行列になる事を確認。
これでまとまった計算が出来そうだ。Thank you Jim Lux!! 以前行列の対角化プログラムを探していた時にもドイツのMPIの人のサイトに助けてもらったけど、今回もまたWebの力に助けてもらったなぁ。
技術的な問題が解決したら、あとは物理を頑張らなきゃ。よし、もうひと頑張り。