色々とあるのです

今日も数値計算です。
どうやらC++のプログラムで、exten "C"とかやって、そこから何かを書くと、その部分はC言語コンパイラを呼び出してコンパイルしてくれるらしいです。なんつーかこの一週間で数値計算についての知識がかなり増えました。
そして、どうやらCLAPACKは関数の頭にdがつくのがdouble型の行列の問題を解くやつで、zがつくのがcomplex double型の問題をとくやつらしいです。ので、今やろうとしてるのは固有値固有ベクトルを求めるっていうのなんですが、dgeev_()だと実行列の固有値固有ベクトルが返って来て、zgeev_()だと複素行列の固有値固有ベクトルを返してくれるらしいです。
そしてどうやら全ての変数はポインタとして定義しないといけないみたいです。このへんの事情は良く分かりません。
以下は複素行列の固有値固有ベクトルを解くサンプルで、C++で、固有値固有ベクトルを求める部分をCのCLAPACKを使ってる感じのやつです。実行列の場合は複素行列の場合で色々と事情が変わって来ます。

http://www.cmpt.phys.tohoku.ac.jp/~ihasato/HowToUseCLapack/HTUCLapack.html
http://www.cmpt.phys.tohoku.ac.jp/~ihasato/HowToUseCLapack/zgeev0.cpp