ヒルベルト行列と逆行列 ー MATLABチュートリアル、仕様
以下のリンクに、浮動小数点演算が困難をもたらす分かりやすい例が挙げられている。
(MathWorks 日本) ヒルベルト行列と逆行列
http://jp.mathworks.com/help/symbolic/examples/hilbert-matrices-and-their-inverses.html?requestedDomain=jp.mathworks.com
リンク先によると、この例題は、シンボリックメソッドで解決できる。なるほど。
確かに、逆行列計算は、ガウスの消去法で有限回の四則演算で計算終了する。
だから、この例題だと分数を扱うパッケージさえあれば厳密解を求められる。
それにしても本家サイトでここまで言及してくれるとは、さすがMathWorks社、正直で親切だ。
リンク先の情報によると、
MATLABの数値計算、とりあえず答えを出してくれる。しかし答えが違う場合があるようだ。
一応、Warning してくれるらしい。なんと親切な仕様。
Warning: Matrix is close to singular or badly scaled. Results may be inaccurate.
RCOND = ***************.
RCONDは条件数。条件数が大きいほど、数値計算が困難。
ちなみに私は、今までこの Warning を見た経験ありません。