Re: Re: A Problem with Simplify

*To*: mathgroup at smc.vnet.net*Subject*: [mg87856] Re: [mg87820] Re: A Problem with Simplify*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Fri, 18 Apr 2008 07:12:28 -0400 (EDT)*References*: <ftkb7f$a9m$1@smc.vnet.net> <200804140943.FAA08090@smc.vnet.net> <200804180638.CAA12471@smc.vnet.net>

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

**References**:**Re: A Problem with Simplify***From:*Alexey Popkov <popkov@gmail.com>

**Re: A Problem with Simplify***From:*Alexey Popkov <popkov@gmail.com>