MathGroup Archive 2008

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

Search the Archive

Re: Re: A Problem with Simplify

On 18 Apr 2008, at 15:38, Alexey Popkov wrote:
> Daniel Lichtblau:
>> 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
> Thank you for the explanation. Now I understand. But I think that the
> same way as there is an alternative to Solve (the function Reduce)
> that carefully keeps track for all conditions for the all partial
> answers, there should be also an alternative to Integrate that also
> keeps track for conditions and gives the all partial answers! I am
> grieved deeply that the alternative does not exists for this case!
> In[1]:= Reduce[1/(a*x)==1,x]
> Out[1]= a!=0&&x==1/a
> This example is the true mathematics!

Indeed. However, there would be two problems. First, someone would  
have to devise suitable algorithms and implement them. This may not be  
totally impossible, but it would certainly take a lot of effort.  But  
then, we would see the second problem. This "ideal integrate "would  
run for ever on almost any non-trivial problem. You would get nice  
"mathematical" answers to trivial ones, which would make you feel  
good, and no answers to non-trivial ones, which would probably make  
you a annoyed enough to complain (to the MathGroup?).
Would that be a good way to use the time and effort of programmers and  
your own money?

As for Reduce -  you should try it a little more on harder problems  
than the one you have just presented. It uses some very beautiful and  
powerful algorithms like Cylindrical Algebraic Decomposition  but they  
have exponential or in this case "double exponential" complexity (in  
the number of variables) so if you it try on something with more than  
3 variables involved you will see what I mean. Given the choice  
between a program that does everything in the spirit of "true  
mathematics" but can only sole trivial problems that can be done by  
hand and one that gives only "generic" solutions but can deal with  
cases that would take you a hundred years to do by hand, which one  
would you choose?

Andrzej Kozlowski 

  • Prev by Date: Re: Abs[x] function
  • Next by Date: Re: Indefinite numbers of arguments in a function
  • Previous by thread: Re: A Problem with Simplify
  • Next by thread: Re: A Problem with Simplify