MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: NDSolve::ndsz question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63724] Re: NDSolve::ndsz question
  • From: Peter Pein <petsie at dordos.net>
  • Date: Thu, 12 Jan 2006 03:22:32 -0500 (EST)
  • References: <dpnqoa$6rh$1@smc.vnet.net> <dpvmjv$ltf$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Jens-Peer Kuska schrieb:
> Hi,
> 
> you may use high-precision computation (avoid 0.5 and 0.1 and use
> 1/2 and 1/10 instead) if you know that your solution has no
> singularity -- otherwise you must program an initial value solver
> that use rational approximations to the function instead of polynomes.
> 
> Regards
>   Jens

Regarding the use of finite/infinite precision using NDSolve,NSum etc., I do 
not fully understand, why the effect is so immense. I encountered the 
following some time ago:

s[k_, x_] := ((2*k - x)/(2*k + x))^k - Exp[-x]
Series[s[k, x], {k, Infinity, 3}]//Normal
--> -(x^3/(E^x*(12*k^2)))

Therefore Sum[s[k,x],{k,0,Infinity}] should converge at least for x>0 (due to 
s[k,x] there are singularities at nonpositive even integervalues of x).

SetOptions[NIntegrate, SingularityDepth -> 50, MaxRecursion -> 50];

f[x_?NumericQ] := NSum[
     s[k, x], {k, 0, â??}, WorkingPrecision -> $MachinePrecision]

without setting WorkingPrecision, the evaluation of f[] fails (*why?*).

f[0.25]
--> ComplexInfinity

f[1/4]
--> 0.2195215

For most Reals x>0, f returns ComplexInfinity, but f[Rationalize[x,0]] returns 
a reasonable value.

IMO this behaviour is neither predictable nor desirable.

Peter


  • Prev by Date: Re: units
  • Next by Date: Practical time limits with Solve[] and similar functions
  • Previous by thread: Re: NDSolve::ndsz question
  • Next by thread: Re: NDSolve::ndsz question