児玉 です.
Ruby 的な進展では無いのですがちょっと書かせてね.

前にえぐちさんが
Subject: [ruby-math:00279] Re: Infinity(was Polynomial.rb...
From: EGUCHI Osamu <eguchi / shizuokanet.ne.jp>
Date: Mon, 24 Apr 2000 19:59:46 +0900
> これが Ruby 標準のライブラリにあると、
> けっこうなウリになりますね。 (^^)

...と書いてくれたときには,HyperReal の意義が良く分かっていなくて
答えようが無かったのですが,
昨夜ようやく気づいた事があるので, ちょっと書きます.

こんな風に関数を用意しておきます.
#  coerce が不完全だ.  順序に注意.
-----Ruby コ−ド
def f(x)
return (x*2+3)/(x*4+5)
end

x = Rational(1)
e = HyperReal::Epsilon

printf "f(1)=%s\n", f(x)
printf "f(e+1)=%s\n", f(e+x)
-----結果
f(1)=5/9
f(1+e)=5/9
-----
5/9 の結果が出て来ます.

ここで, HyperReal での内部表現を覗いてみます.
1+e を (x*2+3)/(x*4+5) に代入したものがそのまま見えます.
これを多項式近似したものが下です.
------コ−ド
printf "f(1+e)=%s\n", f(e+x).to_s(false)
printf "f(1+e)=%s\n", f(e+x).to_Taylor_approximation(3).to_s(false)
-----結果
f(1+e)=(5+2e)/(9+4e)
f(1+e)=(3645-162e+72e^(2)-32e^(3))/(6561)
------
この f(1+e)の HyperReal 表現を
f(1+e) のテ−ラ−展開とみなす事ができます.
微分係数の指数型母関数が得られた事になるので,
HyperReal を "高階の自動微分型" と考える事ができます.
普通に四則演算を用いて関数を書けば,
そのままHyperReal を与える事ができ,
高階の自動微分も行うことができるわけです.

....というわけで, HyperReal も多少は使えそうなので,
Math の関数を HyperReal が通るように
Ruby で書直してみようかと思っています.
-- 
K.Kodama(kodama / kobe-kosen.ac.jp)