1.0と機械精度数として表すことができる直近の数との差を返す.
$MachineEpsilon
1.0と機械精度数として表すことができる直近の数との差を返す.
詳細
- 通常,$MachineEpsilonは,2-n+1である.ただし,n は機械精度の浮動小数点数の内部表示に使用される二進数のビット数とする.
- $MachineEpsilonは,機械精度の数の粗さを計る.
例題
すべて開く すべて閉じる例 (1)
$MachineEpsilon$MachineEpsilonに1を加えた結果は1とは異なる:
x = 1. + $MachineEpsilonx - 1.$MachineEpsilonの端数部分を加えると結果的に丸めになる:
y = 1. + {0.3, 0.5, 0.7}$MachineEpsilony - 1.スコープ (2)
アプリケーション (2)
x = RandomReal[{1, 100}]y = x * (1. + $MachineEpsilon);x - yRealDigits[x, 2]RealDigits[y, 2]連続誤差の上限がある多項式評価のためのホーナー(Horner)法:
horner[p_List, x_] := Module[{u, y, mu},
y = Last[p];
mu = Abs[y] / 2;
Do[y = x * y + c;mu = Abs[x] * mu + Abs[y], {c, Take[p, {-2, 1, -1}]}];
(* u is "unit roundoff"*)
u = $MachineEpsilon / 2;
mu = u * (2 * mu - Abs[y]);
{y, mu}]poly = N[Expand[Product[(x - i), {i, 20}]]]horner[CoefficientList[poly, x], 10.]特性と関係 (3)
$MachineEpsilonは2のベキ乗である:
Log[2., $MachineEpsilon]$MachineEpsilonは10-MachinePrecisionの2倍である:
$MachineEpsilon == 2 / 10 ^ MachinePrecisionこれは実質的に
である.ただし,
は機械精度のビット数である:
b = MachinePrecision * Log[2., 10.]2 ^ (1 - b) == $MachineEpsilon1と1+$MachineEpsilonは最下位のビットのみが異なる:
RealDigits[1., 2]RealDigits[1. + $MachineEpsilon, 2]テクニカルノート
-
▪
- 機械精度の数値
履歴
1991 で導入 (2.0)
テキスト
Wolfram Research (1991), $MachineEpsilon, Wolfram言語関数, https://reference.wolfram.com/language/ref/$MachineEpsilon.html.
CMS
Wolfram Language. 1991. "$MachineEpsilon." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/$MachineEpsilon.html.
APA
Wolfram Language. (1991). $MachineEpsilon. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/$MachineEpsilon.html
BibTeX
@misc{reference.wolfram_2026_$machineepsilon, author="Wolfram Research", title="{$MachineEpsilon}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/$MachineEpsilon.html}", note=[Accessed: 09-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_$machineepsilon, organization={Wolfram Research}, title={$MachineEpsilon}, year={1991}, url={https://reference.wolfram.com/language/ref/$MachineEpsilon.html}, note=[Accessed: 09-August-2026]}