Re: Can't calculate numerical derivative of EllipticTheta
- To: mathgroup at smc.vnet.net
- Subject: [mg82689] Re: [mg82659] Can't calculate numerical derivative of EllipticTheta
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 28 Oct 2007 04:07:56 -0500 (EST)
- References: <200710271006.GAA11228@smc.vnet.net>
On 27 Oct 2007, at 19:06, Scott Hemphill wrote: > I realize that my version of Mathematica is getting a little old. Is > this fixed in later releases? > > In[1]:= $Version > > Out[1]= 5.1 for Linux (October 25, 2004) > > In[2]:= pdf[x_,x0_,sig_] := 1/(Sqrt[2Pi]sig) Exp[-(x-x0)^2/(2sig^2)]; > > In[3]:= Sum[pdf[x,0,sig],{x,-Infinity,Infinity}] > > 2 > -1/(2 sig ) > EllipticTheta[3, 0, E ] > Out[3]= --------------------------------- > Sqrt[2 Pi] sig > > In[4]:= f[sig_]=%; > > In[5]:= f'[1.] > > (0,0,1) > Out[5]= -1. + 0.241971 EllipticTheta [3, 0, 0.606531] > > I expected to see a number on this last line. > > Scott > -- > Scott Hemphill hemphill at alumni.caltech.edu > "This isn't flying. This is falling, with style." -- Buzz Lightyear > You can get correct numerical answer by using instead of f'[1.] N[f'[1],10] 0.0193719 Note that simply N[f'[1]] will not work. This is reasonable because using MachinePrecision would not produce an accurate answer. You can see this by defining your function in a somewhat different way. Replace your definition f[sig_]=% with f[sig_?NumericQ] = %; Now you can differenitate numerically (but not in Mathematica 6 !) f'[1.] -2.115267372136438*^-7 The only problem is that this answer is clearly wrong. This is due to numerical instability of this problem which makes it unsuited to using MachinePrecision numbers. Andrzej Kozlowski
- References:
- Can't calculate numerical derivative of EllipticTheta
- From: Scott Hemphill <hemphill@hemphills.net>
- Can't calculate numerical derivative of EllipticTheta