[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:1132

From: Kazuyuki Shudo <2008 shudo.net>
Date: Tue, 20 Nov 2007 20:32:13 +0900 (JST)
Subject: [yarv-dev:1132] Re: 考えている案

首藤です。

> > (2) 1bit,精度を犠牲にする
> >
> >  一番現実的かな,と思っています.数値計算にどれくらい影響を与える
> > か,わかりません.この辺の評価ってどうすればいいんでしょうか.

仮数部の最下位ビットを使いまわす、という方法について、
ちょっと考えてみました。
問題がありそうです。

もし、IEEE 754 の倍精度では仮数部が 52 bit であるところ、
1 bit 使いまわすことで 51 bit 精度になるというのなら、
それはそれで割とリーズナブルなのではないかと思いました。
(計算科学の方は、それでも難色を示しそうですが。。)

しかし、一度は 52 bit (倍精度) や 64 bit (x86 の拡張倍精度) 精度で
得られた結果を 51 bit に丸めると、
仮数部が元から 51 bit であった場合の演算結果とは
異なる結果が得られてしまうことがあります。

昔書いた論文で、「2度丸め」の問題と呼びました。

例えば
...011 を 1 bit 分ずつ 2度 (最も近い値に向けて) 丸めると、
...011 → ...01 → ...0 となりますが、
2 bit 分を一気に丸めると、
...011 → ...1 となります。
食い違います。


> 堀之内です。
>
> (2)はやばいと思います。NArray 等の拡張ライブラリーを使う場合や、
> Fortran や C での計算と比較する場合と、丸め誤差が一致しなくなり
> ます。カオスなどに代表される、初期誤差が増大するケースでは浮動
> 小数点方式がかわると結果が大きく変わります。そういう問題なんだ
> からしょうがないという考えかたもありえますが、数値計算自体の検
> 証可能性が確保できなくなります。

Fortran や C では、コード上での演算順序と
コンパイル結果の演算順序が同じになる保証がないですよね。
この問題に対しては、最適化を極力抑制 (-O0 とか) して
演算の順序が保存されることを期待して乗り切るんでしょうか。


首藤一幸

--
ML: yarv-dev quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

      1122 2007-11-20 19:08 [ko1 atdot.net       ] 考えている案                            
      1123 2007-11-20 19:25 ┣[horinout rish.kyoto-]                                       
      1124 2007-11-20 19:33 ┃┣[ko1 atdot.net       ]                                     
      1127 2007-11-20 19:52 ┃┣[horinout rish.kyoto-]                                     
      1129 2007-11-20 20:05 ┃┃┗[ko1 atdot.net       ]                                   
      1130 2007-11-20 20:21 ┃┃ ┗[horinout rish.kyoto-]                                 
      1131 2007-11-20 20:24 ┃┃  ┗[ko1 atdot.net       ]                               
->    1132 2007-11-20 20:32 ┃┗[2008 shudo.net      ]                                     
      1133 2007-11-20 20:53 ┃ ┗[horinout rish.kyoto-]                                   
      1137 2007-11-20 21:15 ┃  ┗[2008 shudo.net      ]                                 
      1125 2007-11-20 19:39 ┣[m-72 tf6.so-net.ne.j]                                       
      1126 2007-11-20 19:46 ┃┗[ko1 atdot.net       ]                                     
      1128 2007-11-20 19:58 ┃ ┣[m-72 tf6.so-net.ne.j]                                   
      1135 2007-11-20 20:59 ┃ ┗[m-72 tf6.so-net.ne.j]                                   
      1145 2007-11-21 19:44 ┃  ┗[ko1 atdot.net       ]                                 
      1146 2007-11-21 20:34 ┃   ┗[m-72 tf6.so-net.ne.j]                               
      1134 2007-11-20 20:54 ┣[2008 shudo.net      ]                                       
      1144 2007-11-21 08:39 ┃┗[ko1 atdot.net       ]                                     
      1140 2007-11-21 03:52 ┣[t_nissie yahoo.co.jp] 富豪的 VALUE 型( Re: 考えている案)  
      1141 2007-11-21 04:57 ┃┗[ko1 atdot.net       ]                                     
      1142 2007-11-21 05:29 ┃ ┗[t_nissie yahoo.co.jp]                                   
      1143 2007-11-21 06:02 ┃  ┗[ko1 atdot.net       ]                                 
      1147 2007-11-24 12:56 ┗[m-72 tf6.so-net.ne.j]                                       
      1148 2007-11-24 13:10  ┣[ko1 atdot.net       ]                                     
      1152 2007-11-25 08:51  ┃┗[m-72 tf6.so-net.ne.j]                                   
      1149 2007-11-24 13:18  ┣[ko1 atdot.net       ]                                     
      1150 2007-11-24 13:21  ┗[ko1 atdot.net       ]                                     
      1151 2007-11-24 13:39   ┗[m-72 tf6.so-net.ne.j]