作者: 藤岡和夫
日時: 2005/10/09(23:35)
On Sun, 09 Oct 2005 21:41:17 +0900
dune <FZH01112@...> さんwrote:

> |    $r += $x; $t = $sum; $sum += $r; $t = $sum - $t; $r -= $t;
> 
> 例えば上の式で $x が 0.1 で $sum が 100 で、100 に 0.1 を足しても
> 桁落ちして 100 になってしまう、しかし 0.2 を足した場合は桁落ちしな
> い、と仮定して机上トレースするとわかります。1回目は桁落ちして足せ
> なかった 0.1 が2回目のループでは 0.1 + 0.1 = 0.2 になって無事足せ
> ることがわかります。

 なるほど、duneさんが言われていることは、$xが非常に小さい数値の場合に桁
落ちしない程度まで育てようということですね。

 上記の式はせっかく最初に$rに加えた$xを、最後に$rから引いています。$rは
基本的には0になるはずです。しかし、$rの値は増減する。グラフ化してみよう
と思ったけど、テキストファイルには瞬時に落とせるけど、10万行のデータは
OpenOffice.orgにも読み込めない。読み込んだ途中までの部分をグラフ化しよう
としたら、落ちてしまった(^^;)

> なかなかうまい方法です。その辺の参考書を見てもこういう方法で DFT
> をやってる本はないです。-Mbignum するとかなりスローダウンしてしま
> うので、それよりは断然役に立ちます。

 今日、「数値計算の常識」を楽天に手配しました(^^)v

藤岡 和夫
kazuf@...
TS Networkのために http://homepage1.nifty.com/kazuf/