Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

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?



  • Prev by Date: Re: Inconsistent behaviour of Integrate
  • Next by Date: Re: Extracting some elements, members of another list
  • Previous by thread: Re: Inconsistent behaviour of Integrate
  • Next by thread: Re: Inconsistent behaviour of Integrate