Re: Inconsistent behaviour of Integrate

*To*: mathgroup at smc.vnet.net*Subject*: [mg112428] Re: Inconsistent behaviour of Integrate*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Wed, 15 Sep 2010 04:39:03 -0400 (EDT)

On 9/14/10 at 5:12 AM, andimai at web.de (Andreas Maier) wrote: >I'm using Mathematica 7.0.1.0 on Linux x86 (64bit). I have a >notebook file, where I integrate the same integral twice: >In[1]:= Integrate[Sqrt[(x - 1/2)^2 + (y - 1/2)^2], {x, 0, 1}, {y, 0, >1}] Out[1]= 1/6 (Sqrt[2] + ArcSinh[1]) >In[2]:= Integrate[Sqrt[(x - 1/2)^2 + (y - 1/2)^2], {x, 0, 1}, {y, 0, >1}] Out[2]= 1/24 (4 Sqrt[2] + Log[17 + 12 Sqrt[2]]) >As you can see from the output, integrating the same integral a >second time gives a different result. If I integrate the same >integral a third and a fourth time I always get the second result >again. Only if I restart the mathematica kernel, I get the first >result again. The results are equivalent, since >Log[17 + 12 Sqrt[2]] = Log[(1 + Sqrt[2])^4] = 4* Log[(1 + Sqrt[2]) = >4* ArcSinh[1] >but somehow Mathematica seems to be able to do this simplification >only once. Is this inconsistent behaviour a bug? No. This issue has been discussed here previously. Basically, default time constraints on Integrate cause it to return an answer before some transformations have been done. The second time the same integral is done, Integrate makes use of the cached results from the first which allows further transformations to be done within the default time constraints. >Is there a possibility to give mathematica a hint, so that he always >find the first solution 1/6 (Sqrt[2] + ArcSinh[1]) to the integral? You can use ClearSystemCache to clear out the cached results from the previous evaluation. That is In[1]:= Integrate[ Sqrt[(x - 1/2)^2 + (y - 1/2)^2], {x, 0, 1}, {y, 0, 1}] Out[1]= (1/6)*(Sqrt[2] + ArcSinh[1]) In[2]:= ClearSystemCache[] In[3]:= Integrate[ Sqrt[(x - 1/2)^2 + (y - 1/2)^2], {x, 0, 1}, {y, 0, 1}] Out[3]= (1/6)*(Sqrt[2] + ArcSinh[1]) But given the time it requires to evaluate the integral, why do it twice if you get an acceptable answer the first time?