MathGroup Archive 2012

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

Search the Archive

Re: Manually tell Mathematica how to evaluate integrals

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128830] Re: Manually tell Mathematica how to evaluate integrals
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Thu, 29 Nov 2012 06:05:06 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <k8sqlr$ooc$1@smc.vnet.net>

repl = Integrate[Log[1 + c_*Exp[x]], x] ->
   (Integrate[Log[1 + temp*Exp[x]], x] /. temp -> c);

expr1 = Log[1 + Exp[x + a] + Exp[x + b]];

Factor out the Exp[x]

expr2 = Map[Collect[#, Exp[x]] &, expr];

Verifying that the expressios are equivalent

expr1 == expr2 // Simplify

True

Then do exactly as before

expr3 = Integrate[expr2, x] /. repl

-PolyLog[2, (-E^x)*(E^a + E^b)]

Verifying the result

D[expr3, x] == expr1 // Simplify

True


Bob Hanlon


On Wed, Nov 28, 2012 at 11:33 AM, Eckhard Schlemm <e.schlemm at hotmail.de> wrote:
> Thank you Mr Hanlon. Unfortunately your change of variables does not apply
> to integrals like
>
> Integrate[Log[1 + d Exp[x] + Exp[x],x]
>
> Would there be a way of forcing the integrand to be transformed into the
> form
>
>
> Log[1 + d Exp[x]]
>
> if that is possible? I am particularly thinking of expressions like
>
> Log[1 + Exp[x+a] + Exp[x+b]]
>
> for which d = Exp[a] + Exp[b].
>
> All these integrals have the same structure, so I think Mathematica should
> be able to do them without further tricks.
>
> Thanks again
>
>
> On 28/11/12 15:56, Bob Hanlon wrote:
>>
>> It's a nuisance but just do a change of variables
>>
>> Integrate[Log[1 + (d + 1) Exp[x]] /.
>>     d ->  d - 1, x] /. d ->  d + 1
>>
>> -PolyLog[2, -(1 + d) E^x]
>>
>> Integrate[Log[1 + (d + 1) Exp[x]], x] /.
>>
>>   Integrate[Log[1 + c_* Exp[x]], x] ->
>>    (Integrate[Log[1 + temp* Exp[x]], x] /.
>>      temp ->  c)
>>
>> -PolyLog[2, -(1 + d) E^x]
>>
>>
>> Bob Hanlon
>>
>>
>> On Wed, Nov 28, 2012 at 3:17 AM, Hui<e.schlemm at hotmail.de>  wrote:
>>>
>>> Similar to my first question, I realised that Mathematica can evaluate
>>> the integral
>>>
>>> Integrate[Log[1 + d Exp[x]],x]
>>>
>>> but fails to find the anti-derivative of the function
>>>
>>> Log[1 + (d+1) Exp[x]].
>>>
>>> I find this quite annoying; does anyone a way around the issue?
>>>
>>> Any input is much appreciated.
>>> Thanks, Hui.
>>>
>>> Am Dienstag, 27. November 2012 08:38:48 UTC schrieb Hui:
>>>>
>>>> Thank you DC. There is a typo in my original statement. I meant to
>>>> suggest that
>>>>
>>>>
>>>>
>>>> x PolyLog[n+1,Exp[x]] - PolyLog[n+2,Exp[x]
>>>>
>>>>
>>>>
>>>> is the anti-derivative of the function
>>>>
>>>>
>>>>
>>>> x PolyLog[n,Exp[x]].
>>>>
>>>>
>>>>
>>>> That seems to be confirmed by differentiating the former expression.
>>>>
>>>>
>>>>
>>>> Any ideas as to why Mathematica won't evaluate this integral, even in
>>>> the explicit case of, say, n=4?
>>>>
>>>>
>>>>
>>>> On Monday, November 26, 2012 4:40:54 AM UTC, DC wrote:
>>>>
>>>>> The following doesn't seem to reproduce your statement :
>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>> Simplify[D[x PolyLog[n + 1, Exp[x]] - x PolyLog[n + 2, Exp[x]], x],
>>>>
>>>>
>>>>>
>>>>
>>>>>   Assumptions ->  {n \[Element] Integers, x \[Element] Reals}]
>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>>
>>>>
>>>>> On Sunday, 25 November 2012 10:10:17 UTC, Hui  wrote:
>>>>
>>>>
>>>>>
>>>>
>>>>>> Hi all,
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> I have a question about Mathematica's abilities to solve integrals.
>>>>>> There seem to be cases where an antiderivative is explicitly known yet
>>>>>> Mathematica fails to compute the integral. One example of this would be
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> Integrate[x PolyLog[n,Exp[x]],x]
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> which Mathematica only solves for n=1,2, even though it is quite easy
>>>>>> to find a solution for higher values of n as well, namely
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> x PolyLog[n+1,Exp[x]] - x PolyLog[n+2,Exp[x].
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> I would like to know if it possible to teach Mathematica this integral
>>>>>> in such a way that it will also recognise and solve it in more complicated
>>>>>> cases such as
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> Integrate[(x+a) PolyLog[n,b Exp[c x]],x].
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> Thank you very much, your assistance is much appreciated!
>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>>
>>>>
>>>>>
>>>>
>>>>>> Hui
>>>
>>>
>>>
>>
>>
>



  • Prev by Date: Color according to concavity
  • Next by Date: Re: Numerical expression
  • Previous by thread: Re: Manually tell Mathematica how to evaluate integrals
  • Next by thread: Re: Manually tell Mathematica how to evaluate integrals