計算機イプシロン
Julia は標準で計算機イプシロンを取得する関数があり eps(Float32) のように使用する。
コンピュータで扱われる浮動小数点数は、指数部と仮数部に分かれており、単に小さい数を表すだけであれば指数部を小さくすれば表現が可能である。一方、「1より大きい最小の数」のような場合は、仮数部を使って微小な差を表現することとなる。その限界が計算機イプシロンである。
b {\displaystyle b} 進法で p {\displaystyle p} 桁の浮動小数点数の場合、計算機イプシロンは b 1 − p {\displaystyle b^{1-p}} となる。 例えば、IEEE 754のbinary32(単精度)では、 b = 2 {\displaystyle b=2} 、 p = 24 {\displaystyle p=24} なので、 ε = 2 1 − 24 = 1.192 × 10 − 7 {\displaystyle \epsilon =2^{1-24}=1.192\times 10^{-7}} となる。 同様にIEEE 754のbinary64(倍精度)では ε = 2 1 − 53 = 2.220 × 10 − 16 {\displaystyle \epsilon =2^{1-53}=2.220\times 10^{-16}} となり,binary128(四倍精度)では ε = 2 1 − 113 = 1.926 × 10 − 34 {\displaystyle \epsilon =2^{1-113}=1.926\times 10^{-34}} となる。
計算機イプシロン(けいさんきイプシロン、英: machine epsilon)は、浮動小数点数において、「1より大きい最小の数」と1との差のことである。機械イプシロン(きかいイプシロン)とも言う。また、それぞれの「イプシロン」はエプシロンとも表記される。