1
$\begingroup$

From the textbook, I know that the machine epsilon number for IEEE double precision standard $F(\beta=2, t = 53, L = -1022, U = 1023)$ is:

$$ \epsilon_{M} = 2 \mu $$

where $\mu$ is the unit round-off which equals to $2^{-53}$

I was trying to prove this using the definition of relative error, but I could not deduce that relation for $\epsilon_{M}$:

$$ \frac{|x - fl(x)|}{|x|} \leq \mu $$

How can I attempt to justify this relation of machine epsilon?

$\endgroup$
1
  • 1
    $\begingroup$ It was never really clear to me what you were looking for. By definition, $1+\epsilon_M$ is the first floating point number after $1$. The fact that $\epsilon_m = 2\mu$ where $\mu$ is the unit roundoff hinges on the analysis of the floating point representation given below. $\endgroup$ Oct 17, 2020 at 22:33

1 Answer 1

3
$\begingroup$

Let $x \in \mathbb{R}$ be in the representational range. Without loss of generality we can assume that $x>0$. If $x$ is a floating point number, then there is nothing to show, so we can assume that $x$ is not the largest floating point number. By assumption, the binary representation of $x$ takes the form $$ x = (1.f_1f_2f_3,\dotsc)_2 \times 2^e, \quad f_i \in \{0,1\}, \quad L \leq e \leq U. $$ The number $x_{-}$ given by $$ x_{-} = (1.f_1f_2f_3,\dotsc,f_{t-1})_2 \times 2^e $$ is the largest floating point number which is smaller than $x$. The next floating point number is given by $$ x_{+} = \left[ (1.f_1f_2f_3,\dotsc,f_{t-1})_b + 2^{-(t-1)} \right] \times 2^e = x_- + 2^{e-(t-1)}. $$ By construction, $$ x_{-} \leq x \leq x_{+}, \quad x_{+} - x_{-} = 2^{e-(t-1)}. $$ Let $\hat{x}$ denote the number which is closest to $x$, i.e., either $\hat{x} = x_{-}$ or $\hat{x} = x_{+}$. Then the error $x - \hat{x}$ satisfies $$ |x-\hat{x}| \leq \frac{1}{2} 2^{e-(t-1)}. $$ Since $x \ge 2^e$ we can bound the relative error $r = (x-\hat{x})/x$ as follows $$ |r| \leq 2^{-t} = u $$ where $u$ is the unit roundoff. By definition, machine epsilon $\epsilon$ is the difference between $1$ and the next floating point number, i.e., $1+2^{-(t-1)}$. It follows that $\epsilon = 2u$.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .