[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour)

**From**: |
Bill Denney |

**Subject**: |
Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour) |

**Date**: |
Mon, 24 Jul 2006 08:41:42 -0400 (EDT) |

On Mon, 24 Jul 2006, Joan Picanyol i Puig wrote:

`I need some clarification on the significance and use of eps. According
``to octave,
`
`eps' is the largest relative spacing between any two adjacent
numbers in the machine's floating point system

`Which I understand as "any number smaller than eps is undistinguishable
``from 0". However, AFAIK, 64-bit double precision floating point permits
``representing something as small as 10^-323 or so, and although I've done
``comparisons to some multiple of eps as a threshold to check for 0s, I'm
``unsure on how would that work if I really needed to work with values
``around 10^-20.
`

`If you need to work with values around 10^-20, then according to machine
``precision
`
a = 10e-20
b = a + a*eps/10
a could equal b

`to test if they should equal each other, you would want to do something
``like
`
abs(a/b) - 1 < 10*eps
instead of just
a == b

`This is because depending on the exact operations used to get from one
``number to another rounding may have occurred slightly differently.
`
A slightly different example is that when you compute b and c as follows
b = a + (a*eps)/10
c = a + a*(eps/10)
The following may or may not be true
b == c

`because it depends on how machine rounding occurred along the way to the
``final result. This test returns true on my copy of octave, but the
``principle is that different methods of getting to the same number may give
``different results.
`
Hopefully I made things clearer.
Bill
--
"There is no cure for birth and death other than to enjoy the interval."
-- George Santayana

**puzzling Octave behaviour**, *Joan Picanyol i Puig*, `2006/07/22`
**Re: puzzling Octave behaviour**, *Muthiah Annamalai*, `2006/07/22`
**Re: puzzling Octave behaviour**, *Tom Holroyd*, `2006/07/22`
**Re: puzzling Octave behaviour**, *Francesco Potorti`*, `2006/07/24`
**checking for tiny inequalities (was: Re: puzzling Octave behaviour)**, *Joan Picanyol i Puig*, `2006/07/24`
**Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour)**,
*Bill Denney* **<=**
**Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour)**, *Przemek Klosowski*, `2006/07/24`
**Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour)**, *Francesco Potorti*, `2006/07/24`
**Re: checking for tiny inequalities (was: Re: puzzling Octave behaviour)**, *Joan Picanyol i Puig*, `2006/07/30`