MathGroup Archive 2006

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

Search the Archive

Re: (revision) NIntegrate that upper limit is infinite

  • To: mathgroup at smc.vnet.net
  • Subject: [mg71943] Re: (revision) NIntegrate that upper limit is infinite
  • From: ab_def at prontomail.com
  • Date: Tue, 5 Dec 2006 06:04:41 -0500 (EST)
  • References: <el12c7$5j5$1@smc.vnet.net>

Evanescence wrote:
> Dear all:
> I am very sorry for my article contain a lot of mistake before.
> So I check it and state my questions again.
> I am really sorry that cause a lot of confuse for everybody.
> My questions is as follows:
> First I definite a function that is:
> G[a_] := ((-(a -Cos[0.5])^(-3/2))/(3*(10)^2))*(Sin[0.5])^(2) +
> (1/(1-0.1*0.1))*((0.005*(1 + Cos[0.5]) + 0.001/1000)*(1 +
> Cos[0.5])^(1/2)*(ArcTan[(a - Cos[0.5])^(1/2)/(1 + Cos[0.5])^(1/2)] -
> Pi/2) + (0.005*(1 - Cos[0.5]) - 0.001/1000)*(1 -
> Cos[0.5])^(1/2)*(ArcTanh[(1 - Cos[0.5])^(1/2)/(a - Cos[0.5])^(1/2)]))
>
> another function is:
> P[a_]:=Re[N[LegendreP[(-1/2)+I,a]]]       where I=(-1)^(1/2)
>
> then
> NIntegrate[G[a]*P[a], {a, 1, Infinity}]
>
> but get error message is:
> NIntegrate's singularity handling has failed at point
> {a}={2.7013362243395366*(10^150)}for the specified
> precision goal.
> Try using larger values for any of $MaxExtraPrecision
> or the options WorkingPrecision, or SingularityDepth and MaxRecursion.
>
> NIntegrate::"inum":
> "Integrand G[a]*P[a] is not numerical at {a}=
> {2.7013362243395366`*(10^150)}.
>
> Please solve my confuse ,thank you very much!
>
> By the way
> G[Infinity]*P[Infinity]=0 ¡A G[1] is singular point¡AP[1]=1
> and I try Plot the graph for G[a]¡AP[a]¡Aand G[a]*P[a] ¡Afrom the
> graph of  G[a]*P[a]
> it should convergence for a-->Infinity.

Evaluate Series[G[a], {a, Infinity, 1}]: the leading term will be
around -3.*^-18 and it's not clear whether it's numerical noise or
whether the limit is really finite. So let's work with exact (or at
least arbitrary-precision) numbers:

ga = Unevaluated@ G[a] /. (DownValues@ G /. x_Real :> Rationalize[x])
pa = LegendreP[-1/2 + I, a]

Then

Series[ga, {a, Infinity, 1}] // FullSimplify

tells us that ga is O(1/sqrt(a)) and

Series[pa, {a, Infinity, 1}] // FullSimplify[ComplexExpand[#], a > 0]&
N[%, 20] // Chop

shows that pa is asymptotic to (C1*Sin[Log[a]] +
C2*Cos[Log[a]])/Sqrt[a]. Note that here again it can better to use N
only in the end.

Now make the change of variables a = E^t, estimate the higher order
terms, and it will be obvious that the integral diverges. Here is an
illustration:

Plot[(ga*pa /. a -> E^t)*E^t /. t -> SetPrecision[tt, 60],
  {tt, 0, 100}]

But don't rely on plots too much; trying to explore the singularity at
a = 1 this way probably wouldn't be such a great idea.

Maxim Rytin
m.r at inbox.ru


  • Prev by Date: RE: Making plots using transformation rules
  • Next by Date: Re: Re: Reduction of Radicals
  • Previous by thread: Re: (revision) NIntegrate that upper limit is infinite
  • Next by thread: Re: (revision) NIntegrate that upper limit is infinite