MathGroup Archive 2005

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

Search the Archive

Re: Solving an integral in the limit.

Josef Karthauser wrote:
> I'm having trouble solving a complicated integral using mathematica,
> and I'm looking for some wisdom on the matter.
> The problem can be summarised as follows.  Mathematica can determine
> the solution to,
>     Integrate[E^(I*x^2)/ Sqrt[1 + x^2], {x, 0, Infinity}]
> but if I replace the upper bound with a free variable and take the limit
> as it goes to Infinity mathematica doesn't manage it,
>     Limit[Integrate[E^(I*x^2)/ Sqrt[1 + x^2], {x, 0, a}], a -> Infinity]
> Surely it should be able to determine that the answer is the same as in
> the previous case.  Is there anyway to pursuade it?
> Many thanks,
> Joe

One method might be to use a rule that pulls the limit point of approach 
into the bound of the integral. The rule below will do this for the 
upper bound of integration.

In[1]:= Unprotect[Integrate];

In[2]:= Integrate /: Limit[Integrate[f_,{x_,a_,b_},opts___], b_->c_] := 

In[3]:= Limit[Integrate[E^(I*x^2)/ Sqrt[1 + x^2], {x, 0, a}], a -> Infinity]

(MeijerG[{{1/4, 3/4}, {}}, {{0, 0, 1/2}, {1/2}}, 1/4] +
   I*MeijerG[{{1/4, 3/4}, {}}, {{0, 1/2, 1/2}, {0}}, 1/4])/(4*Sqrt[2]*Pi)

This relies on the good will of Integrate not to ever attempt, for 
example, an improper integral as a limit of a proper one. In such a 
scenario you'd get into infinite recursion whenever the proper one 
returned unevaluated (as happens with the example you give; fortunately 
the improper one is NOT done as a limit but instead handled directly).

I doubt this will help you with your actual problem, by the way. It's 
just a way to force recognition of a limiting case that can be handled 
directly, when the "proper" case cannot.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: Re: Boolean Integral
  • Next by Date: Re: Time needed for calculation
  • Previous by thread: Solving an integral in the limit.
  • Next by thread: Re: Solving an integral in the limit.