[Numpy-discussion] Testing for close to zero?
Mon Jan 19 20:23:43 CST 2009
Interesting. That makes sense and I suppose that also explains why
there is no function to do this sort of thing for you.
On Mon, Jan 19, 2009 at 3:55 PM, Robert Kern <firstname.lastname@example.org> wrote:
> On Mon, Jan 19, 2009 at 14:43, Jonathan Taylor
> <email@example.com> wrote:
>> When solving a quadratic equation I get that alpha =
>> -3.78336776728e-31 which I believe to be far below machine precision:
>> But an if statement like:
>> if alpha == 0:
>> does not catch this. Is there a better way to check for things that
>> are essentially zero or should I really be using
>> if np.abs(alpha) < finfo(float).eps:
> Almost. You should scale eps by some estimate of the size of the
> problem. Exactly how you should do this depends on the problem,
> though. Errors accumulate in different ways depending on the
> operations you perform on the numbers. Multiplying eps by
> max(abs(array_of_inputs)) is probably a reasonable starting point.
> Robert Kern
> "I have come to believe that the whole world is an enigma, a harmless
> enigma that is made terrible by our own mad attempt to interpret it as
> though it had an underlying truth."
> -- Umberto Eco
> Numpy-discussion mailing list
More information about the Numpy-discussion