# Want to eliminate conditions from result of Integrate

This is my first time using Mathematica for the purpose of solving complex integrals. I have to compute few complex integrals which have many coefficients. For example, $$\int_0^\infty \frac{k^2\, (k^2 + p^2)^{1/2}}{(k^2 + u^2)^2\, (2\, k^2 + 2\,p^2 + m\,(k^2 + p^2)^{1/2}\,)}\, dk$$

When I am trying to calculate it with Integrate, the result is always with a ConditionalExpression with some real and imaginary conditions. I know that there is a solution to this integral because my professor calculated it some time ago and I have to repeat it.

I also have few principal value integrals to calculate. But the results of them are even more complex.

Could you give me some advice on what should I do to get rid of the conditions?

This

Assuming[u>0 && m>-2,
Integrate[k^2 Sqrt[k^2+p^2]/((k^2+u^2)^2 Sqrt[2 k^2+2 p^2+m (k^2+p^2)]),
{k,0,Infinity}]]


instantly returns Pi/(4 Sqrt[2+m] u).

If you look at the arguments inside the Conditional and what I put inside my Assuming then you might see how this is done.

You can use slightly different assumptions and still eliminate the conditional.

int = Integrate[
k^2 Sqrt[k^2 + p^2]/((k^2 + u^2)^2 Sqrt[2 k^2 + 2 p^2 + m (k^2 + p^2)]), {k,
0, Infinity}]

(*  ConditionalExpression[
Pi/(4*Sqrt[2 + m]*u),
Re[u] > 0 && Re[m] > -2 &&
Im[m] == 0]  *)


You can extract the desired result from the answer using Part

int[]

(*  Pi/(4*Sqrt[2 + m]*u)  *)


As shown by @Bill, you can use assumptions consistent with the conditions given in the ConditionalExpression

Assuming[{m > -2, u > 0},
Integrate[
k^2 Sqrt[k^2 + p^2]/((k^2 + u^2)^2 Sqrt[2 k^2 + 2 p^2 + m (k^2 + p^2)]), {k,
0, Infinity}]]

(*  Pi/(4*Sqrt[2 + m]*u)  *)


Or you can tell Mathematica to not generate conditions (EDIT: this has some risk as pointed out in the comment by @mattiav27)

Integrate[k^2 Sqrt[
k^2 + p^2]/((k^2 + u^2)^2 Sqrt[2 k^2 + 2 p^2 + m (k^2 + p^2)]), {k, 0,
Infinity}, GenerateConditions -> False]

(*  (Pi*Sqrt[1/u^2])/(4*Sqrt[2 + m])  *)


Which may then need simplification with assumptions to arrive at the same end result

Simplify[%, u > 0]

(*  Pi/(4*Sqrt[2 + m]*u)  *)

• You should also say that using GenerateConditions->False might be dangerous: see this answer: mathematica.stackexchange.com/a/108578/8822 and also the documentation of Integrate. The problem is that it will "Generate a result without conditions that is valid only for some values of parameters" Aug 8 '16 at 19:45
• The canonical way to remove the ConditionalExpression is by using Normal (see docs on Normal). Aug 11 '16 at 13:00
• @QuantumDot - Thanks Aug 11 '16 at 16:14

Thank you guys for help. However in your code, there was a small mistake in denominator. It should look like this:

Integrate[k^2 Sqrt[k^2 + p^2]/((k^2 + u^2)^2 (2 k^2 + 2 p^2 + m Sqrt[k^2 + p^2])), {k, 0, Infinity}, GenerateConditions -> False]

This makes calculations much longer. The result is really long with some signs that I don't fully understand. This is a part of result:

                                2    2
2  2         I Sqrt[p  - u ]
(2 I) m  p  Log[1 - ---------------] +
u

2    2
4         I Sqrt[p  - u ]
(8 I) p  Log[1 - ---------------] +
u


Do you know what that "I" means? I tried to find it in some library as a special function or constant but without success.

I also have a problem with functions containing logarithm:

int = Integrate[k Log[(Sqrt[k^2 + p^2]+k)/(Sqrt[k^2 +  p^2]-k)]/((k^2 + u^2)^2 (2 k^2 + 2 p^2 + m Sqrt[k^2 + p^2])), {k,0, Infinity}]


A computer that I am working on at my University simply don't want to give me the result probably because of some time limit. Is there a way to force Mathematica to compute the result in such a situation?

Thank you for help one more time. :)