[Tutor] Functional Derivatives
Chris Fuller
cfuller084 at thinkingplanet.net
Tue Apr 21 02:20:02 CEST 2009
You should look up "numerical methods" or similar. There are ways of
rearranging your calculations to minimize the loss of precision. You could
also try a numerical/scientific library like GMP (for integers or rational
numbers). I don't know of any (Python) library for extended precision
floats, but there ought to be.
Cheers
On Monday 20 April 2009 18:53, Matt wrote:
> I'm trying to calculate the derivative of a function in Python like so:
>
> def D5(func,h=1e-5):
> ""' Return derivative of function func'''
> def df(x): return (func(x+h)-func(x))/h
> df.__name__ = func.__name__ + '_dx'
> return df
>
> However, I run into the problem of limited float precision. This is
> evident for this:
> import math
> print D5(D5(D5(D5(math.sin))))(0.3)
> => -5551.11512313
> print math.sin(0.3)
> => 0.295520206661
> Is there any way that any of you can think of to avoid this for
> general-purpose functions? Thanks.
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list