I undarstand that 1+$MachineEpsilon
is actually not equal 1
. However, it persists to look like it was equal 1.
In[1]:= 1 + $MachineEpsilon
Out[1]= 1.
This is inappropriate in some cases, as in the following example:
Manipulate[
Row@{TraditionalForm@HoldForm@Defer@ (1/(x - 1)), "\[Equal]",
TraditionalForm@(1/(x - 1))}, {x, 1 + $MachineEpsilon, 2,
Appearance -> "Labeled"}]
The above input gives this:
Which very much looks like as if we had some division by zero.
How to fix this? How to display this 1+$MachineEpsilon more accurately?
So far, I've tried this:
In[3]:= N[1 + $MachineEpsilon, $MachinePrecision]
Out[3]= 1.
I fail to understand the above output - 1+$MachineEpsilon
is supposed to be a machine number, and therefore it should be accurately representable with $MachinePrecision
digits of precision, shouldn't it?
SetOptions[$FrontEndSession, PrintPrecision -> 17]
? $\endgroup$1.
persists. $\endgroup$