>>Delta

桁落ちらしきものを見つけてしまった

2009年5月13日

桁落ちらしきものを見つけてしまった

学校で有限要素法の練習課題をもらったので取り組んでいたのですが、連立方程式のソルバー(これはソースコードが与えられる)があからさまに狂った値を返してくるので困ります。CASPAR003です、こんばんは。

言語はFORTRANですが

  • マトリックスを大きくすると精度が落ちる
  • realを全部doubleに置き換えたらまともな結果が来る

あたりから考えると桁落ちで間違いないはず。毎年このルーチンで演習をやっているそうですが、去年までの計算は大丈夫なんだろうか…。ガウスの消去法を適用しているっぽいことはわかるんだけど、ちょっと手順が特殊なので追いかけるのも大変であんまりやりたくないです。

そんな研究室のはなし。

以下、超おおざっぱな桁落ち解説。

たとえば3.141593という値の入った変数aがあるときa = a - 3.141590とするとaには当然0.000003が入ります。あら不思議。7桁も精度があったのに一瞬にして有効数字が1桁になってしまいました。

数値計算をするときには非常に近い2つの数の引き算は極力避けないと、知らない間に有効数字ががっつり減少してとんでもない答えが返ってくることがありますよ、という話。引き算は恐ろしいのです。

投稿者 CASPAR003
投稿時刻 23:36
カテゴリー 雑記
コメント 0 件
トラックバック 0 件
記事へのリンク http://www.caspar003.info/delta/archive/2009/05/13/2336.html
コメント
投稿者
コメント
トラックバック
  • トラックバック

ブログ情報

カレンダー
2018年2月
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
最近のエントリー
最近のコメント
コメントを頂いたエントリー
コメントをくださった方一覧
コピー用紙の裏表
でった☆
CASPAR003
あのー
CASPAR003
amumo
CASPAR003
mariko
kazu
お仕事で青ざめた話
iun
iun
CASPAR003
AcrobatでPDFの一括印刷
Caesar
CASPAR003
Shadeのレンダラー仕様メモ
iun
CASPAR003
ブログ同盟本 C87 3日目 東S-04b
CON$
CASPAR003
Ca3 Post_Effector 2.0
sisioumaru
CASPAR003
sisioumaru
CASPAR003
Shade15について雑感
iun
CASPAR003
iun
色について
iun
CASPAR003
Lv67
iun
CASPAR003
雪まつり行ってきたよ
iun
CASPAR003