Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Manually tell Mathematica how to evaluate integrals
Replies: 5   Last Post: Dec 3, 2012 3:18 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Bob Hanlon

Posts: 906
Registered: 10/29/11
Re: Manually tell Mathematica how to evaluate integrals
Posted: Dec 3, 2012 3:18 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

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@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@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
>>>
>>>
>>>

>>
>>

>




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.