実数の足し算

" 足し算の答えが一意に決まるなんて昔話になるかも、というお話。  確認した範囲では、MATLAB 7.8 (2009a, 64bit) に足し算をさせる(たとえばサイズが500,000x1の行列の各要素を全部足す)と、その答えは一意に決まらない。全く同一のデータについて同じPC・環境で繰り返し計算させて、ほぼ毎回違う答えが返ってくる。  これについてMathWorks社(の少なくとも一社員)の見解が書かれているページを見つけた。"
2010-01-08 - potasiumchの日記

実数の足し算か。ずっと気になってたけど、やっぱり問題あるんだな。安全な順序で足すライブラリでもあるかと思ったんだが

ってゆーか、並列条件か。そりゃ、さらに悪条件だな。

てゆーか、最新版では解決してるんなら問題ないじゃん…

やっぱり、安全な加算のコードを一度自分用に書いておくか…と思ったが、ふと手元のを見ると、 Kahanの補償付き総和法、というまさにそのものが載っていたのだった。随分前に読んだはずなのに、なんで完全に抜け落ちてたんだろ。

次にコード書く時は、忘れずにこれで積算しよう。

この手のは、古い本見るといろいろ載ってそうな予感…。しかし、どれがいいのかはちっとも判らなそうな悪い予感……。

あ、こんなのもあった。

wikipediaには、optimize に注意とまであった。親切だなぁ。


14:00:00 - 21.01.10 - kuroyagi - その他雑記 - 4061x