Re: Integration
- To: mathgroup at smc.vnet.net
- Subject: [mg12753] Re: Integration
- From: Daniel Lichtblau <danl>
- Date: Wed, 10 Jun 1998 03:04:14 -0400
- Organization: Wolfram Research, Inc.
- References: <6l80mq$mqg@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Carl Woll wrote: > > Hi all, > > There's a simple definite integral which I can do through a simple > change of variable, but Mathematica is unable to do. The integral is > > Integrate[ Exp[-x] Log[1 - Exp[-x]], {x,0,Infinity}] > > which if one makes the change of variables > > y = 1-Exp[-x] > > becomes > > Integrate[ Log[y], {y,0,1}] > > which equals -1. Why is it that Mathematica is unable to do this > integral, and is there an option one can set which enables Mathematica > to perform this integral and more general variants of it? Even worse is > the following result which Mathematica gives for a slightly more > general case > > Integrate[Exp[-a x] Log[1 - E[-x]],{x,0,Infinity}] > > Mathematica's answer for this integral is Indeterminate, but the > integral clearly converges for a>0 (I think it actually converges for > a>-1). > > Carl Woll > Dept of Physics > U of Washington Mathematica can do the indefinite integral. It apparently attempts the definite one using the Newton-Leibniz method (eval indefinite integral at endpoints, take limits, make some attempt to ascertain there is no singularity along the path between them). In our version under development this works just fine. Integrate[ Exp[-x] Log[1 - Exp[-x]], {x,0,Infinity}] // Timing Out[5]= {1.43 Second, -1} In version 3.0.2, I belive, it seems to hang. Suspecting a rogue Limit computation, I did as below. Unprotect[Limit]; Limit[a:___] := Null /; (Print[InputForm[{a}]]; False) In[3]:= Integrate[ Exp[-x] Log[1 - Exp[-x]], {x,0,Infinity}] // Timing {E^(-x) + ((-1 + E^x)*Log[1 - E^(-x)])/E^x, x -> 0, Direction -> -1, > Analytic -> True} ... {E^(-x) + ((-1 + E^x)*Log[1 - E^(-x)])/E^x, x -> Infinity, Direction -> 1, Analytic -> True} and here it appears to hang. When I do just this Limit, that too seems to hang; it did not return after several minutes. In our development version we do not get this limit, but rather the simplified Limit[Log[1 - E^(-x)]/E^x, x -> Infinity] Moreover when I tried, in the development version, the Limit generated by version 3.0 I got Timing[Limit[E^(-x) + ((-1 + E^x)*Log[1 - E^(-x)])/E^x, x -> Infinity]] Out[7]= {0.12 Second, 0} I like to think this is progress. Daniel Lichtblau Wolfram Research