数値アルゴリズムにおける浮動小数点体系とマシンイプシロン
定義
浮動小数点体系 1
浮動小数点体系floating point systemとは、次のように表される数 $x$ たちからなる。 $$ x = m \cdot \beta^{e} , \quad m = \pm d_{0} . d_{1} d_{2} \ldots d_{t} $$ ここで $m$ を仮数mantissa、$e$ を指数exponentという。すべての $k = 0 , \cdots, t$ に対して $d_{k}$ は基数base $\beta \in \mathbb{N}$ に対して $0 \le d_{k} < \beta$ を満たす数字digitである。通常、仮数は $1 \le |m| < \beta$ を、指数は $L \le e \le U$ を満たすように正規化され、浮動小数点体系は順序対 $F = \left( \beta , t, L, U \right)$ で表現される。
マシンイプシロン 2
浮動小数点体系 $\left( \beta , t, L, U \right)$ に対して、マシンイプシロンunit roundoff $\epsilon$ を次のように定義する。 $$ \epsilon = {\frac{ 1 }{ 2 }} \beta^{1-t} $$
説明
浮動小数点は通常コンピュータを用いる数値計算で言及され、2026年現在まで普通のコンピュータは二進数を使うので $\beta = 2$ である場合がほとんどである。このときマシンイプシロンは $\epsilon = 2^{-t}$ となり、当該浮動小数点体系で表現できる数のうちその大きさが最も小さい数程度と考えればよい。似た意味で、$\epsilon$ は $1 +_{F} \varepsilon > 1$ を満たす最小の $\varepsilon > 0$ として定義されることもある。ここで $+_{F}$ は浮動小数点体系 $F$ における加算演算を意味する。
