1
$\begingroup$

I want to simplify the following triple integral with exponential terms.

\begin{equation} \int_0^\infty\int_0^\infty \int_0^\infty \frac{1}{R\,G} e^{-p(1+R\,a)-q\, b \frac{1+R\, a}{1+G\, x}}\, e^{\frac{-a}{R}}\, e^{-b}\, e^{\frac{-x}{G}} db\,dx \,da \end{equation}

where I assume $R>0$, $G>0$, $p>0$ and $q>0$.

Using both commands Simplify and FullSimplify, Mathematica after hours didn't get any solution. I tried two versions of Mathematica, 7 and 10, but nothing changes. Is there any smart way to make a simplification?

Here is my Mathematica code:

Simplify[
  Integrate[
    Integrate[
      Integrate[
        1/(R G) Exp[-p(1 + R a) - b q ((1 + R a)/(1 + G x))] 
          Exp[-a/R] Exp[-b] Exp[-x/G], 
        {b, 0, ∞}], 
      {x, 0, ∞}], 
    {a, 0, ∞},
    Assumptions -> G > 0 && R > 0 && p > 0 && q > 0 ]]
$\endgroup$
7
  • $\begingroup$ Welcome to Mathematica.SE! I suggest the following: 1) As you receive help, try to give it too, by answering questions in your area of expertise. 2) Read the faq! 3) When you see good questions and answers, vote them up by clicking the gray triangles, because the credibility of the system is based on the reputation gained by users sharing their knowledge. Also, please remember to accept the answer, if any, that solves your problem, by clicking the checkmark sign! $\endgroup$
    – user9660
    Mar 27, 2015 at 18:11
  • $\begingroup$ Please post Mathematica code, not only formulas $\endgroup$ Mar 27, 2015 at 18:19
  • $\begingroup$ To add to the remark by @belisarius I would pose this question: What exactly do you expect readers to do in order to respond to your question? For one, it is impossible to know exactly what you attempted. For another, it would require extensive typing, on the part of every potential respondent, to replicate something that might not even be what you actually tried. $\endgroup$ Mar 27, 2015 at 18:39
  • 1
    $\begingroup$ That can't be what you typed. You have syntax error. No closing ")" error. $\endgroup$
    – Nasser
    Mar 27, 2015 at 20:01
  • $\begingroup$ To answer to Daniel: I expect to understand how to solve this triple integral because, on my laptop it takes too much time and I guess that I'm not using in the right way Mathematica. $\endgroup$
    – smtux
    Mar 27, 2015 at 20:21

1 Answer 1

4
$\begingroup$

With using number of assumptions, and breaking thing step by step: (I do things step by step, just to see where the problem is when it shows up, much easier to debug this way)

integrand = 1/(r g) Exp[-p (1 + r a) - b q ((1 + r a)/(1 + g x))] 
   Exp[-a/r] Exp[-b] Exp[-x/g];

z0 = Assuming[Re[(1 + q + a q r + g x)/(1 + g x)] > 0, 
      Integrate[integrand, {b, 0, Infinity}]]

Mathematica graphics

z1 = Integrate[z0, x];
lower = Limit[z1, x -> 0];
upper = Assuming[g > 0 && r > 0 && a > 0 && p > 0 && q > 0, Limit[z1, x -> Infinity]];
z1 = upper - lower

Mathematica graphics

z2 = Integrate[z1, a]
lower = Limit[z2, a -> 0]

Mathematica graphics

upper = Assuming[g > 0 && r > 0 && a > 0 && p > 0 && q > 0,Limit[z2, a -> Infinity]]

Mathematica graphics

final = upper - lower

Mathematica graphics

You might want to check that these assumptions used in each step are consistent.

updated To make it easier to use the above, here is the code in one cell

ClearAll[r , g, p, a, x]
integrand = 1/(r g) Exp[-p (1 + r a) - b q ((1 + r a)/(1 + g x))] Exp[-a/r] Exp[-b] Exp[-x/g];
z0 = Assuming[Re[(1 + q + a q r + g x)/(1 + g x)] > 0, Integrate[integrand, {b, 0, Infinity}]];
z1 = Integrate[z0, x];
lower = Limit[z1, x -> 0];
upper = Assuming[g > 0 && r > 0 && a > 0 && p > 0 && q > 0, Limit[z1, x -> Infinity]];
z1 = upper - lower;
z2 = Integrate[z1, a];
lower = Limit[z2, a -> 0];
upper = Assuming[g > 0 && r > 0 && a > 0 && p > 0 && q > 0, Limit[z2, a -> Infinity]];
final = upper - lower

Mathematica graphics

$\endgroup$
7
  • $\begingroup$ I would check these assumption. In the while time I have to ask: - why did you not used the command Simplify? - Does [Out67] a solution or *[Out71] it is? $\endgroup$
    – smtux
    Mar 27, 2015 at 21:40
  • $\begingroup$ Could you please explain the process? I read that you have integrate first over b, then for the other two variables, you used limits. Thanks. $\endgroup$
    – smtux
    Mar 27, 2015 at 21:47
  • $\begingroup$ @smtux breaking the multiple integration to sequences of integration just help show where Mathematica needs help. The above just breaks the process to see what was needed (what assumptions). Sometimes if a definite integral hangs, finding the indefinite integral then using limits with assumptions helps as in this case. $\endgroup$
    – Nasser
    Mar 28, 2015 at 2:24
  • $\begingroup$ Ok, but I don't understand how to handle all the above assumptions in my original code. And, do I have to use Simplify? because you didn't. Thanks. $\endgroup$
    – smtux
    Mar 28, 2015 at 6:36
  • $\begingroup$ @smtux Why do you have to change your code to handle these assumptions? Just use the code I posted. Does it have to be all in one line? To make it easier, I updated the answer and pasted all the code in one cell. So just use this cell instead of yours, that is all. $\endgroup$
    – Nasser
    Mar 28, 2015 at 6:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.