正木です。 |From: GOTO Kentaro <gotoken / notwork.org> |Subject: [ruby-math:00608] Re: int / int -> ? |Date: Sun, 26 Aug 2001 16:13:20 +0900 (JST) | |効率の良いRealの実装はようするに、合成されてできた数オブジェ |クトをどれだけ最適化してコンパイルするかにかかっています。そ |ういう意味ではProcを使った実装は構文木にアクセスできないので |最適化はできないことになります。 Ruby ではどういう方式が良いとおもわれますか? |Subject: [ruby-math:00609] Re: int / int -> ? | |無限精度の考え方は一通りではないですが、無限精度でもあらかじ |め必要な桁数を与える流儀もあります。例えば収束列 s で実数を |実装したとして、10e-n の精度でその値を得たい時は s[a[n]] ま |で求めれば良いという帰納関数 a を用意するのです。こうしてお |かないと停止性を保証できないので、理論的にはこの a を与える |という制約は重要です。ご存知とは思いますが念のため。 私の方式では、 s と同時に 0 に収束する誤差項の無限列 error を用意しておいて、精度 epsilon で近似値を得たい時は s[error.find_with_index{|e,i| e <= epsilon }[1]] とします。上記の a[n] は a[n]=error.find_with_index{|e,i| e <= 10**-n }[1] となります。これではまづいですか?