Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2007
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2007

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

Search the Archive

Re: AiryAi

  • To: mathgroup at smc.vnet.net
  • Subject: [mg75644] Re: AiryAi
  • From: dimitris <dimmechan at yahoo.com>
  • Date: Mon, 7 May 2007 05:39:32 -0400 (EDT)
  • References: <f1hlg0$p7q$1@smc.vnet.net><f1jqra$3rt$1@smc.vnet.net>

Dear Roman.

Thanks for all of your information.
I really appreciate your response.

Finally, trying more, I succeeded in getting a desirable numerical
result.

In[2]:=
g[o_] := AiryAi[o]

In[3]:=
dat = Range[-30, -2, 0.5];

In[4]:=
zer = Reverse[Append[Union[(o /. FindRoot[g[o] == 0, {o, #1}] & ) /@
dat,
     SameTest -> (#1 - #2 < 10^(-12) & )], 0]]

Out[4]=
{0,-2.33811,-4.08795,-5.52056,-6.78671,-7.94413,-9.02265,-10.0402,-11.0085,-
\
11.936,-12.8288,-13.6915,-14.5278,-15.3408,-16.1327,-16.9056,-17.6613,-18.\
4011,-19.1264,-19.8381,-20.5373,-21.2248,-21.9014,-22.5676,-23.2242,-23.871=
6,-
\
24.5103,-25.1408,-25.7635,-26.3788,-26.987,-27.5884,-28.1833,-28.772,-29.35=
48,\
-29.9318}

In[4]:=
nint[i_] := -NIntegrate[g[u], {u, zer[[i]], zer[[i + 1]]},
    PrecisionGoal -> 20, WorkingPrecision -> 40]

In[5]:=
InputForm[SequenceLimit[FoldList[Plus, 0, Table[nint[i],
     {i, 1, Length[zer] - 1}]]]]

Out[5]//InputForm=
0=2E6666666666666666665047043643`18.362829735502853

In[8]:=
Integrate[g[o], {o, -Infinity, 0}]
(N[#1, 20] & )[%]

Out[8]=
2/3

Out[9]=
0=2E66666666666666666666666666666666666667`20.

Dimitris


=CF/=C7 Roman =DD=E3=F1=E1=F8=E5:
> Dimitris,
>
> The Airy function has terrible convergence: for x -> -Infinity, you
> have, to very good accuracy,
>
> AiryAi[x] ~~ Sin[Pi/4 - (2*Sqrt[-x]*x)/3]/(Sqrt[Pi]*(-x)^(1/4))
>
> Just plot the two; they differ by very little for x < -20 or so. Let's
> call f[x] the approximation.
>
> So you have an oscillatory function decreasing as slowly as (-
> x)^(-1/4). Numerically integrating this requires adding an infinity of
> terms of alternating signs (the integrals over the positive and
> negative sine arcs, respectively), which have to very delicately
> cancel out in order to produce a small result. The reason why this
> cancellation only works analytically but not numerically in this case
> is that while f[x] is integrable over (-Infinity,0], its square f[x]^2
> is not. This is like the classical calculus example of a series that
> is convergent but not absolutely convergent, giving rise to numerical
> hell. The sum of all the positive terms is +Infinity, and the sum of
> all negative terms is -Infinity, but the total sum of all terms (the
> integral) is 2/3 (or Sqrt[2/3] for f[x]). Maybe you remember from
> calculus class that by re-ordering the terms in such a series you can
> get any final result you desire, i.e., the result of numerically
> integrating will depend very much on how you integrate (which is bad),
> so I'm not sure that in practice you could ever get a numerical
> integral of your Airy function without analytical insights.
>
> Another way of seeing the problem is that as the numerical integration
> progresses from 0 backward to -Infinity, the resulting integral may
> well converge in theory, but the estimated numerical error increases
> the longer we integrate, instead of decreasing or stabilizing as is
> required for a well-determined result.
>
> Roman.
>
> On May 5, 12:15 pm, dimitris <dimmec... at yahoo.com> wrote:
> > Hello.
> >
> > Consider the integral
> >
> > In[678]:=
> > f = HoldForm[Integrate[AiryAi[o], {o, a, b}]]
> >
> > Then
> >
> > In[679]:=
> > {ReleaseHold[f /. {a -> 0, b -> Infinity}], (Rationalize[#1, 10^(-12)]
> > & )[
> >    ReleaseHold[f /. Integrate -> NIntegrate /. {a -> 0, b ->
> > Infinity}]]}
> >
> > Out[679]=
> > {1/3, 1/3}
> >
> > Hence, the symbolic and the numerical result agree.
> >
> > Next,
> >
> > In[682]:=
> > ReleaseHold[f /. {a -> -Infinity, b -> 0}]
> > N@%
> >
> > Out[682]=
> > 2/3
> > Out[683]=
> > 0.6666666666666666
> >
> > I think I can trust the last analytic result.
> >
> > However, no matter what options I set for NIntegrate, I could get a
> > satisfactory
> > result from its application for the integral in (-infinity,0].
> >
> > I really appreciate any help.
> >
> > Thanks
> > Dimitris



  • Prev by Date: Re: Integrating Differential Equations with Time Delay
  • Next by Date: Re: Notebook in LaTeX environment
  • Previous by thread: Re: AiryAi
  • Next by thread: Re: AiryAi