« ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その8) 1セルに入力するだけで直列共振回路のインピーダンスを計算 | トップページ | 松のやでささみかつ&ポルチーニ香るフォアグラ入りクリームコロッケ定食を食す。 »

2021年3月 9日 (火)

4倍精度の計算をしても最初の桁どころか符号すら違うというRump’s example(f(a,b)=(333.75-a^2)*b^6+a^2*(11*a^2*b^2-121*b^4-2)+5.5*b^8+a/(2*b)で a = 77617.0, b = 33096.0)をカシオの高精度計算サイトkeisan.casio.jpで130桁まで計算してみる。

Rumpの例題というのがある。

https://tore.tuhh.de/bitstream/11420/318/1/Ru88a.pdf

https://www.researchgate.net/publication/225180314_Rump's_Example_Revisited

http://www.math.twcu.ac.jp/ogita/lec/u-tokyo2016/ogita01.pdf

 

f(a,b)=(333.75-a^2)*b^6+a^2*(11*a^2*b^2-121*b^4-2)+5.5*b^8+a/(2*b)

で、 a = 77617.0, b = 33096.0を代入すると

単精度で1.172603
倍精度で1.1726039400531
4倍精度で1.172603940053178

になって何となく精度が上がっているように見えますが、実際の値は

-0.827396・・・

で最初の一桁どころか、符号すら違うというもの。

※実際の計算はべきのところは掛け算の繰り返しにしないとこうならなかった。

カシオの高精度計算サイトでは130桁の計算までできるのでチェックしてみよう。

https://keisan.casio.jp/calculator

結果はこんな感じ。

  6桁 : 1.1726
23桁 : 1.1726039400531786318588349
34桁 : 1.172603940053178631858834904520184
38桁 : -0.827396059946821368141165095479816292
50桁 : -0.82739605994682136814116509547981629199903311578438
130桁 : -0.8273960599468213681411650954798162919990331157843848199
     17814841672709693014261542180323906212231085327532028039
     6422528402223833696

4倍精度では34桁くらいなんで惜しかった。。。

38桁からまともに計算してくれた。



« ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その8) 1セルに入力するだけで直列共振回路のインピーダンスを計算 | トップページ | 松のやでささみかつ&ポルチーニ香るフォアグラ入りクリームコロッケ定食を食す。 »

日記・コラム・つぶやき」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その8) 1セルに入力するだけで直列共振回路のインピーダンスを計算 | トップページ | 松のやでささみかつ&ポルチーニ香るフォアグラ入りクリームコロッケ定食を食す。 »

最近の記事

最近のコメント

2024年12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
フォト
無料ブログはココログ