From: gotoken@... (GOTO Kentaro) Date: 1999-03-01T19:34:40+09:00 Subject: [ruby-dev:5842] Re: Precision in Mathematica (Re: Bigfloat) ごとけんです In message "[ruby-dev:5839] Re: Precision in Mathematica (Re: Bigfloat)" on 99/03/01, EGUCHI Osamu writes: >keiju> >keiju> 1. 四則演算は厳密に精度を計算し, 関数系は引数の精度までを引き継ぐ >keiju> >keiju> 2. 今迄通り精度は大きい方に合わせていく(float系の場合) >keiju> >keiju> 3. Mathematicaに頑張って合わせる >keiju> >keiju> >keiju> >keiju> ぐらいしか思い浮かばないですが... >keiju> > >keiju> >1. についてですが、これは『関数は引数の精度と同等の精度を >keiju> >得られる事が期待できるアルゴリズムを使用せよ』 >keiju> >と読み取って良いのでしょうか?(物によってはメチャ厳しい ^^;;) >keiju> >keiju> そうじゃなくて, 大変なんであきらめるってことです(^^;;; > >永久に返って来ないより、なんぼかましですね ^^;; > >既に Bignum ** Bignum のように、時間に対する問題に関しては >なにがなんでも値を求めるのでなく、実行時間配慮する方向で >態度が決まってると考えています。 >#どのへんで、あきらめるかは問題ですが、 いや,Bignum は時間がかかっても計算させたほうが いいんではないかと思ってます.実装の仕方によるけど そんなに時間かからないんじゃないかなぁ. 四則演算は最大誤差を別個に評価して,仮の結果と最大誤差を 足して変化しない桁を調べればいいんではないかと. 関数と言っても,四則演算の級数か,ニュートン法でであらわ すんだから,引数の精度のうちで最小のものを使って必要な 項や収束条件は求まるから問題ないような. あ,ニュートン法は危険かも. >keiju> >案外 3. が上の解釈の 1. そのものだったりして、、、 >keiju> >keiju> うーん. どうなんでしょう? >> ごとけんさん? ぼくは,1. をいまいち理解してなかったけど, とりあえずは Math モジュールの関数は prec(Float) を呼ぶと 言うことでいいんではないでしょうか?? >keiju> expの精度がどのように変化するのか興味ありますね. > >exp がそうだかわかりませんが、機械の浮動小数点で同じ関数を >実行して、第一近似を得て適当な精度になるまでトライする >という手法が使えそうです。 exp って,指数関数のことですか?? -- gotoken