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セルに入力するだけで直列共振回路のインピーダンスを計算 | トップページ | 松のやでささみかつ&ポルチーニ香るフォアグラ入りクリームコロッケ定食を食す。 »
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年1月20日 高周波回路シミュレータuSimmics(旧名QucsStudio)がv5.9にバージョンアップ、Keysightがデバイスモデリングに機械学習ツールキットを、アンリツとVTTがDバンド高速通信、GPUを利用したアンテナシミュレーション(2026.01.20)
- 令和8年(2026年)大学入学共通テスト「情報」に出てきた日本語プログラム言語の問題、文化祭のゲームの待ち時間をPythonに直して実行するDNCL2Pythonを使って確認した。(2026.01.18)
- RF Weekly Digest (Gemini 3 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ) 2026/1/11-2026/1/18(2026.01.18)
« ExcelのLET関数+SEQUENCE関数で数値計算シリーズ(その8) 1セルに入力するだけで直列共振回路のインピーダンスを計算 | トップページ | 松のやでささみかつ&ポルチーニ香るフォアグラ入りクリームコロッケ定食を食す。 »


コメント