気紛れな計算機

Mathematicaさんはたまに気紛れとも思える様な挙動をする事がある。例えば、行列の固有値を求めるEigenvaluesを作用させると当然固有値が求まる。しかし、行列にMatrixFormを作用させてあると上手く求まらない。ヘルプやmathematicaブックにはそんな事は書かれていないが、そんな微妙な事は幾つも有るようだ。今日はその一部のレポートを書いてみた。

ここでは詳細は書かないが、NIntegrateを含めた複数の命令を二通り用意すると、それぞれの結果が異なってしまう。本来は同じか近い値が出るべきの物だ。間違った値を返す原因はまだ突き止めていないが、どちらが正しいかの見当はついた。

数値計算の怖い所は間違ったプログラムでも答えが出てしまう所だ。出てきた数値が本当に正しいか、意味のある物なのか慎重に検討する必要がある。