プログラミングのお題スレ Part22 (880レス)
前次1-
抽出解除 レス栞

331
(2): 2024/04/18(木)07:16 ID:8T8m8Yde(1) AAS
>(a, b, c) = (5278.64055, 94721.35941, 99999.99996)
>c - (a - b)が正確には0なのに3.63797880709171e-12と計算されてしまい

この例に限らず、たいていの場合a,b,cはdoubleでexactに格納されて無くて
この例では「c - (a - b)が正確には0」なのをチョイスしただけでは?
333
(1): 2024/04/18(木)07:34 ID:PYBA8OB3(2/2) AAS
> 200ビットで計算したほぼ正確な値3.27490470056059e-07
この例だけ見るとAccurate Δの方が優れているように見えるので

>>331の様なチェリーピックはどちらの計算式でも出来るので平均的に近似が近い方が精度的に優れているかと
334: 2024/04/18(木)22:41 ID:y7NBfn6/(1) AAS
>>331
その通り。そして、(a, b, c) = (10000.1, 10000.2, 20000.3)とすれば、正しい面積は0なのに
Heron's Δ' = 2.69745899635295とAccurate Δ = 1.34872949817647は両方とも大間違いになる。
この場合のようにHeron's Δ'での問題がAccurate Δで改善されないだけでなく、>>331の引用の
場合のようにHeron's Δ'では結果的に問題ないのにAccurate Δでは新たな問題が生じてしまうのは、
参考文献の11ページで述べられた

 An algorithm stood convicted of numerical instability if it could be replaced by
 a new algorithm at least about as fast and accurate as the old for all data,
 and good for all data for which the old algorithm was bad.

 すべてのデータに対して旧アルゴリズムと少なくとも同じくらい高速かつ正確であり、
省9
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.874s*