[HN Gopher] What, if anything, is epsilon? (2014) [pdf]
___________________________________________________________________
What, if anything, is epsilon? (2014) [pdf]
Author : notmysql_
Score : 52 points
Date : 2023-05-01 23:49 UTC (23 hours ago)
(HTM) web link (tom7.org)
(TXT) w3m dump (tom7.org)
| idbehold wrote:
| > JavaScript programmers have the highest tolerance for error of
| all languages tested, with over 1,000 using epsilon of 0.5 or
| higher.
|
| JavaScript actually defines "Number.EPSILON" as being "the
| difference between 1 and the smallest floating point number
| greater than 1." https://developer.mozilla.org/en-
| US/docs/Web/JavaScript/Refe...
| sulam wrote:
| Do yourself the favor of reading the plots. They are the high
| point of this "paper."
| ChancyChance wrote:
| I thought this was a real paper at first.
| __MatrixMan__ wrote:
| Are you sure it's not? I'm uncertain.
|
| Searching for the Association for Computational Heresy leads me
| to https://sigbovik.org/ which appears to be a real conference
| in the same way that extreme ironing is a real sport.
| wrs wrote:
| As a CMU alumnus, I resemble that remark. Of course it's a
| real conference. It has a review committee and proceedings
| and LaTeX and everything!
| dmbche wrote:
| It's a real paper - go look at the other things tom7 has done!
| blackbear_ wrote:
| Nice graphics
| xorvoid wrote:
| Lolz. Delightful!
| [deleted]
| jacob019 wrote:
| Isn't it just a small number to prevent divide by zero errors?
| danbruc wrote:
| If you want to not divide by zero, you can just check for zero.
| You want to use some epsilon if you want to compare floating
| point numbers, 0.1 + 0.2 == 0.3 for example is false and not
| what you wanted most of the time. To do this properly you
| calculate the difference (0.1 + 0.2) - 0.3 and check if the
| absolute value of the difference is smaller than some
| tolerance, your epsilon.
| lmkg wrote:
| Not exactly. In math, epsilon is basically "it's not zero,
| except when it is."
|
| When you're _dividing_ , then it's close to zero, but still
| qualitatively _not_ zero. But when you 're _multiplying_ or
| _adding_ , then we say it's close enough that we'll treat it as
| exactly zero. So it's not a specific number, it's something
| where we can handwave its qualitative size depending on what's
| convenient.
|
| Limits are a formalization of this concept. It's not a specific
| value, it's very much a variable that "approaches" zero. This
| establishes rules about how much bullshit you can actually do
| it. It's not zero, you do some arithmetic, then it becomes zero
| and you do the rest of the arithmetic.
|
| But when you're writing a program, epsilon is indeed often just
| a small number. The trick is choosing the right "small."
| Someone wrote:
| > In math, epsilon is basically "it's not zero, except when
| it is."
|
| In the math I know, it's not necessarily small, but it is
| larger than zero. https://mathworld.wolfram.com/Epsilon-
| DeltaDefinition.html:
|
| _"An epsilon-delta definition is a mathematical definition
| in which a statement on a real function of one variable f
| having, for example, the form "for all neighborhoods U of y0
| there is a neighborhood V of x0 such that, whenever x in V,
| then f(x) in U" is rephrased as "for all e > 0 there is d > 0
| such that, whenever 0 < |x - x0| < d, then |f(x) - y0| < e."_
|
| (Also used in proofs. https://mathworld.wolfram.com/Epsilon-
| DeltaProof.html)
|
| https://en.m.wikipedia.org/wiki/Limit_of_a_function#%7F'%22%.
| ..:
|
| "For every real e > 0, there exists a real d > 0 such that
| for all real x, 0 < |x - p| < d implies |f(x) - L| < e."
|
| > it's something where we can handwave its qualitative size
| depending on what's convenient.
|
| Aha! You're doing physics, not math. Mathematicians only
| handwave when they can prove it doesn't affect results ;-)
| iamevn wrote:
| The paper, on the epsilon-delta: > This has nothing to do
| with the subject of the paper
| [deleted]
| tempodox wrote:
| To oversimplify, epsilon is "the smallest number that still
| makes a difference in the given context".
| amelius wrote:
| In actual code, you will see it used with wide safety
| margins, though.
| jerf wrote:
| There is subtlety in selecting that "small number". 0.000000001
| may look like a "small number", but if you're doing
| calculations in the 1e-20 range, suddenly it isn't small
| anymore. Small is relative to the task at hand. Simple uses of
| floats in known situations can get away with a hard-coded
| epsilon constant, and it may not even much matter what the
| number is, but as your usage becomes more sophisticated and
| more important, proper selection of epsilon values becomes non-
| trivial.
___________________________________________________________________
(page generated 2023-05-02 23:02 UTC)