固有値固有関数

なんつーか、訳あって固有値固有関数を数値的に求める必要が出たのですね。それでMathematica使ったら、N次の正方行列をAとして、

Eigensystem[A];

とやったら、それだけで、

{{Eigenvalue1, Eigenvalue2, ..., EigenvalueN},
  {1st_Element_of_EigenFunction1, 2nd_Element_of_EigenFunction1, ..., N-th_Element_of_EigenFunction1},
  ...,
  {1st_Element_of_EigenFunctionN, 2nd_Element_of_EigenFunctionN, ..., N-th_Element_of_EigenFunctionN}}

とかいって固有値固有ベクトルが一辺にどばっと出てくるのですね。いやーこれにはちょっと感動した。今日は物凄い勢いで心理的にささくれ立ってたのですが、Mathematica様のお陰で少しだけそれが緩和されました。だってN次方程式を解いてくれる訳だし。こんなの普通に院試に出る問題だっつーの。
で、そうして解析的に俺が求めたい固有値固有ベクトルは出たのですが、それを評価するのがまあ色々と時と場合によりけりなので、それを数値的に判断しようと思ったのですよ。で、CなりFortranなりでそういうことができねーのかって思って調べたら、どうやらLAPACKとか、LAPACK++とかいうライブラリだかパッケージを使えば出来るらしいことが分かりました。

http://stat.scphys.kyoto-u.ac.jp/~ryoichi/CP/chap4-4.html
http://www.is.tsukuba.ac.jp/~sakurai/mac.html
http://www.cmpt.phys.tohoku.ac.jp/~kono/macosx/

そしてどうやらそのLAPACK++っていうのは、

http://phase.hpcc.jp/mirrors/netlib/lapack++/

からDL出来るらすぃ。なんつーかまだまだ検討中です。でもまあ自前でプログラム組むより人の作ったパッケージ使った方が絶対良い訳だから何としても使えるようにするつもりですよ。俺の組んだプログラムなんて信用できねーし。っつーかNumerical Recipes固有値を数値的に求めるのはとっても大変だというのが切々と書いてあって、そんなの自分でやるくらいならパッケージ使えやと書いてあったのでそれに素直に従います。やっぱ車輪の再生産はいくないですよね。