[Numpy-discussion] double-precision sqrt?
Adam Ginsburg
adam.ginsburg at colorado.edu
Sat Oct 17 14:08:18 EDT 2009
Hi folks,
I'm trying to write a ray-tracing code for which high precision is
required. I also "need" to use square roots. However, math.sqrt and
numpy.sqrt seem to only use single-precision floats. Is there a
simple way to make sqrt use higher precision? Alternately, am I
simply being obtuse?
Thanks,
Adam
Example code:
from scipy.optimize.minpack import fsolve
from numpy import sqrt
sqrt(float64(1.034324523462345))
# 1.0170174646791199
f=lambda x: x**2-float64(1.034324523462345)**2
f(sqrt(float64(1.034324523462345)))
# -0.03550269637326231
fsolve(f,1.01)
# 1.0343245234623459
f(fsolve(f,1.01))
# 1.7763568394002505e-15
fsolve(f,1.01) - sqrt(float64(1.034324523462345))
# 0.017307058783226026
More information about the NumPy-Discussion
mailing list