comparison – Value for epsilon in Python

comparison – Value for epsilon in Python

The information is available in sys.float_info, which corresponds to float.h in C99.

>>> import sys
>>> sys.float_info.epsilon
2.220446049250313e-16

As strcat posted, there is sys.float_info.epsilon.

But dont forget the pitfalls of using it as an absolute error margin for floating point comparisons. E.g. for large numbers, rounding error could exceed epsilon.

If you think you need a refresher, the standard reference is David Goldbergs What Every Computer Scientist Should Know About Floating-Point Arithmetic, or for a simpler review you can check out The Floating Point Guide.

comparison – Value for epsilon in Python

If you cannot find a function to do that, remember that the algorithm to calculate the machine epsilon is very easy (you can test with your favourite programming language).E.g, for python:

eps = 1.0
while eps + 1 > 1:
    eps /= 2
eps *= 2
print(The machine epsilon is:, eps)

In my case, I got:

The machine epsilon is: 2.220446049250313e-16

Leave a Reply

Your email address will not be published.