MathGroup Archive 2008

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

Search the Archive

Re: Re: A Problem with Simplify

Alexey Popkov wrote:
> [...]
>>Capitalization notwithstanding, it need not do any such thing. Integrate
>>should give a generic result that behaves sensibly in the limit as a->1
>>from whatever path is specified to Limit. This is similar to the
>>situation of
>>In[18]:= InputForm[solns = x /. Solve[a*x^2 + x == 1, x]]
>>Out[18]//InputForm= {(-1 - Sqrt[1 + 4*a])/(2*a),
>>  (-1 + Sqrt[1 + 4*a])/(2*a)}
>>In[20]:= Limit[solns, a->0]
>>Out[20]= {-Infinity, 1}
>>Note that a blind substitution of a->0 will not give "nice" results.
> Well. But how I can get the partial answer for the case a=1 with
> Limit?
> I have tried the foolowing code:
> In[1]:= Limit[Integrate[Cos[a*z]/Sin[z],z],a->1]
> Out[1]= \[Infinity]
> In[2]:= Limit[Integrate[Exp[a*z]*Sinh[z],z],a->1]
> Out[2]= -\[Infinity]
> In[3]:= Limit[Integrate[Exp[z]*Sinh[a z],z],a->1]
> Out[3]= E^z DirectedInfinity[E^(-I*Im[z])]
> In[4]:= Limit[Integrate[Exp[(a-1)*x],x],a->1]
> Out[4]= \[Infinity]
> All results are incorrect!
> As I understand, Integrate does not give a generic result that behaves
> sensibly in the limit as a->1!

Sorry, I should have stated the situation more clearly.

Yes, the antiderivatives you see have singularities at the parameter 
value in question (in all cases, when a is 1). Hence the results you 
show above. What I should have said is that one can get these 
singularities to cancel, if using the parametrized antiderivatives to 
obtain definite integrals a la Newton-Leibniz. Here is a standard simple 
example (modified slightly so as to have a->1 as the bad value).

In[22]:= InputForm[i1 = Integrate[x^(-a),x]]
Out[22]//InputForm= x^(1 - a)/(1 - a)

Certainly it blows up as a->1.

In[23]:= Limit[i1, a->1]
Out[23]= -Infinity

In[24]:= Limit[i1, a->1, Direction->1]
Out[24]= Infinity

But if we take a pair of values for x, say 2 and 3, to evaluate the 
definite integral, we in fact get the expected/desired logarithm result 
in the limit as a->1 (and independent of direction).

In[27]:= InputForm[Limit[(i1/.x->3)-(i1/.x->2), a->1]]
Out[27]//InputForm= Log[3/2]

In[28]:= InputForm[Limit[(i1/.x->3)-(i1/.x->2), a->1, Direction->1]]
Out[28]//InputForm= Log[3/2]

To see that this really is reproducing the Fundamental Theorem of 
Calculus result (or at least doing a heckuva job to fool me), I'll show 
this instead as a definite integral from x0 to x.

In[29]:= InputForm[Limit[i1 - (i1/.x->x0), a->1]]
Out[29]//InputForm= Log[x] - Log[x0]

I believe most of your examples will also behave fine when processed in 
this way. The Cos[a*z]/Sin[z] integrand might be an exception, but that 
indicates a limitation of Limit rather than a bug in Integrate. 
Depending on whether you give symbolic (z,z0) or exact numeric (3,2) 
input to Limit it either returns a complicated, but seemingly correct 
result, or else unevaluated.

Daniel Lichtblau
Wolfram Research

  • Prev by Date: RE: Coordinates of vertices
  • Next by Date: Re: ListPlot & lots 'o dots.
  • Previous by thread: Re: A Problem with Simplify
  • Next by thread: Re: A Problem with Simplify