On 05/25/2015 09:13 PM, ravas wrote:
On Monday, May 25, 2015 at 8:11:25 PM UTC-7, Steven D'Aprano wrote:
Let's compare three methods.
...
which shows that:

(1) It's not hard to find mismatches;
(2) It's not obvious which of the three methods is more accurate.
Thank you; that is very helpful!

I'm curious: what about the sqrt() function being last is detrimental?
 From a point of ignorance it seems like we are just producing errors sooner,
and then multiplying them, with this alternative method.

It's probably not the square root that's causing the inaccuracies. In many other cases, and probably here also, it's the summing of two numbers that have vastly different values that loses precision. A demonstration:

>>> big = 100000000.0
>>> small = 0.000000001
>>> (big+small)-big # Should produce a value =small, but gives an exact zero instead.
0.0

The squaring of the two values in x*x+y*y just makes the addition even more error prone since the squares make large values even larger and small values even smaller.


Gary Herron.

--
Dr. Gary Herron
Department of Computer Science
DigiPen Institute of Technology
(425) 895-4418

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to