Re: Re: Bug in Integrate ?
- To: mathgroup at smc.vnet.net
- Subject: [mg17927] Re: [mg17913] Re: [mg17879] Bug in Integrate ?
- From: "Andrzej Kozlowski" <andrzej at tuins.ac.jp>
- Date: Sat, 5 Jun 1999 02:56:00 -0400
- Sender: owner-wri-mathgroup at wolfram.com
Bob,
The expressions are not equivalent for all values of x (as Wil correctly
pointed out). Just try substituting actual values:
In[55]:=
I*(1 + y)*(Log[1 - (I*x)/(1 + y)] -
Log[1 + (I*x)/(1 + y)] -
Log[1 - (I*(1 + x))/(1 + y)] +
Log[1 + (I*(1 + x))/(1 + y)] +
Log[1 - (I*(1 + y))/x] - Log[1 + (I*(1 + y))/x] -
Log[1 - (I*(1 + y))/(1 + x)] +
Log[1 + (I*(1 + y))/(1 + x)]) == 0/.{x->-Random[],y->1}
Out[55]=
False
While
In[57]:=
I*(1 + y)*(Log[1 - (I*x)/(1 + y)] -
Log[1 + (I*x)/(1 + y)] -
Log[1 - (I*(1 + x))/(1 + y)] +
Log[1 + (I*(1 + x))/(1 + y)] +
Log[1 - (I*(1 + y))/x] - Log[1 + (I*(1 + y))/x] -
Log[1 - (I*(1 + y))/(1 + x)] +
Log[1 + (I*(1 + y))/(1 + x)]) == 0/.{x->Random[],y->1}
Out[57]=
True
Your argument makes use of the relations {Log[x_] + Log[y_] -> Log[x*y],
Log[x_] - Log[y_] -> Log[x/y]}] but of course they do not hold in the
whole complex plane e.g.
In[65]:=
Log[(-1)*(-1)]
Out[65]=
0
In[66]:=
Log[-1]+Log[-1]
Out[66]=
2 I Pi
--
Andrzej Kozlowski
Toyama International University
JAPAN
http://sigma.tuins.ac.jp
http://eri2.tuins.ac.jp
----------
>From: BobHanlon at aol.com
To: mathgroup at smc.vnet.net
>To: mathgroup at smc.vnet.net
>Subject: [mg17927] [mg17913] Re: [mg17879] Bug in Integrate ?
>Date: Thu, Jun 3, 1999, 3:58 PM
>
>
> In a message dated 5/31/99 11:30:03 PM, rcwil at win.tue.nl writes:
>
>>Looking in the archives of this discussion group didn't give me an
>>answer
>>to my problem:
>>The result that Mathematica gives after integration of this elementary
>>function
>>doesn't seem to be correct in the region -1<x<0:
>>
>>Integrate[Log[(x-s)^2+(y+1)^2],{s,-1,0}]
>>
>>gives:
>>
>>2*(1 + y)*ArcTan[(1 + y)/x] -
>> 2*(1 + y)*ArcTan[(1 + y)/(1 + x)] -
>> x*(-2 + Log[x^2 + (1 + y)^2]) +
>> (1 + x)*(-2 + Log[(1 + x)^2 + (1 + y)^2])
>>
>>This expression is not correct for all values of x.
>>Replacing y+1 by y in the previous function and after
>>integration substituting y+1 again gives the correct result
>>for all values of x:
>>
>>Integrate[Log[(x-s)^2+y^2],{s,-1,0}]/.y>y+1
>>
>>-2*(1 + y)*ArcTan[x/(1 + y)] +
>> 2*(1 + y)*ArcTan[(1 + x)/(1 + y)] -
>> x*(-2 + Log[x^2 + (1 + y)^2]) +
>> (1 + x)*(-2 + Log[(1 + x)^2 + (1 + y)^2])
>>
>>My questions are: Is this a bug? Did I overlook the archives
>>to correct this problem?
>>
>
> Wil,
>
> The two representations appear to be equivalent
>
> $Version
>
> "Power Macintosh 3.0 (May 6, 1997)"
>
> integral1 = Integrate[Log[(x-s)^2+(y+1)^2],{s,-1,0}]
>
> 2*(1 + y)*ArcTan[(1 + y)/x] -
> 2*(1 + y)*ArcTan[(1 + y)/(1 + x)] -
> x*(-2 + Log[x^2 + (1 + y)^2]) +
> (1 + x)*(-2 + Log[(1 + x)^2 + (1 + y)^2])
>
> integral2 = (Integrate[Log[(x-s)^2+y^2],{s,-1,0}]/.y->y+1)
>
> -2*(1 + y)*ArcTan[x/(1 + y)] +
> 2*(1 + y)*ArcTan[(1 + x)/(1 + y)] -
> x*(-2 + Log[x^2 + (1 + y)^2]) +
> (1 + x)*(-2 + Log[(1 + x)^2 + (1 + y)^2])
>
> FullSimplify[integral1 == integral2]
>
> 2*(1 + y)*(ArcTan[x/(1 + y)] - ArcTan[(1 + x)/(1 + y)] +
> ArcTan[(1 + y)/x] - ArcTan[(1 + y)/(1 + x)]) == 0
>
> FullSimplify[TrigToExp[%]]
>
> I*(1 + y)*(Log[1 - (I*x)/(1 + y)] -
> Log[1 + (I*x)/(1 + y)] -
> Log[1 - (I*(1 + x))/(1 + y)] +
> Log[1 + (I*(1 + x))/(1 + y)] +
> Log[1 - (I*(1 + y))/x] - Log[1 + (I*(1 + y))/x] -
> Log[1 - (I*(1 + y))/(1 + x)] +
> Log[1 + (I*(1 + y))/(1 + x)]) == 0
>
> FullSimplify[% //. {Log[x_] + Log[y_] -> Log[x*y],
> Log[x_] - Log[y_] -> Log[x/y]}]
>
> True
> ____________________________
>
> Version 4 arrives at log representations directly:
>
> $Version
>
> "4.0 for Power Macintosh (April 20, 1999)"
>
> integral1 = Integrate[Log[(x - s)^2 + (y + 1)^2], {s, -1, 0}]
>
> I*(2*I + Log[(-I + x - I*y)/x] + y*Log[(-I + x - I*y)/x] -
> Log[(1 - I + x - I*y)/(1 + x)] -
> y*Log[(1 - I + x - I*y)/(1 + x)] - Log[(I + x + I*y)/x] -
> y*Log[(I + x + I*y)/x] + Log[(1 + I + x + I*y)/(1 + x)] +
> y*Log[(1 + I + x + I*y)/(1 + x)] +
> I*x*Log[1 + x^2 + 2*y + y^2] -
> I*Log[2 + 2*x + x^2 + 2*y + y^2] -
> I*x*Log[2 + 2*x + x^2 + 2*y + y^2])
>
> integral2 = (Integrate[Log[(x - s)^2 + y^2], {s, -1, 0}] /. y -> y + 1)
>
> -I*(-2*I - (1 + y)*Log[(1 - I - I*x + y)/(1 + y)] -
> (1 + y)*Log[(1 + I*x + y)/(1 + y)] +
> (1 + y)*Log[(1 + I + I*x + y)/(1 + y)] +
> (1 + y)*Log[(-I*(x + I*(1 + y)))/(1 + y)] -
> I*x*Log[x^2 + (1 + y)^2] +
> I*Log[1 + 2*x + x^2 + (1 + y)^2] +
> I*x*Log[1 + 2*x + x^2 + (1 + y)^2])
>
> At this point, it is convenient to include the assumption that
> y != -1
>
> FullSimplify[integral1 == integral2, y != -1]
>
> Log[(1 - I + x - I*y)/(1 + x)] + Log[1 + (I*x)/(1 + y)] +
> Log[1 - (I*(1 + x))/(1 + y)] + Log[(x + I*(1 + y))/x] ==
> Log[(1 + I + x + I*y)/(1 + x)] + Log[1 - (I*x)/(1 + y)] +
> Log[1 + (I*(1 + x))/(1 + y)] + Log[(x - I*(1 + y))/x]
>
> FullSimplify[% //. Log[x_] + Log[y_] -> Log[x*y]]
>
> True
>
>
> Bob Hanlon