What is the correct way to add more than one assumption while integrating?

I am attempting to evaluate the following integral and Mathematica is just stalling, so I'm wondering if my assumptions are the problem:

 Integrate[k Sqrt[k^2 - k0^2] ((kf^2 - k^2)/k^2 Log[(kf + k)/(kf - k)]
   + 2 kf), {k, k0, Sqrt[kf^2 + k0^2] - e}, Assumptions -> {Reals, e > 0}]
  • 2
    $\begingroup$ What do you mean by Reals in the Assumptions? That all variables appearing in the integrand are real? or that only e is real? $\endgroup$
    – QuantumDot
    May 11, 2016 at 2:11
  • $\begingroup$ e must be Real anyway since it is greater than 0 $\endgroup$
    – Yukterez
    May 11, 2016 at 2:44
  • $\begingroup$ @QuantumDot Since Assumptions->Reals means all variables involved are real, I was trying to retain that meaning while also adding the e>0 condition. $\endgroup$
    – Max
    May 11, 2016 at 3:52
  • $\begingroup$ Possible duplicate of Usage of Assuming for Integration $\endgroup$
    – user9660
    May 11, 2016 at 4:06
  • 2
    $\begingroup$ To be safe you might try to be explicit about the real variables: Assumptions -> {k0, kf, ky} \[Element] Reals && e > 0 $\endgroup$
    – Rashid
    May 11, 2016 at 4:16

1 Answer 1


I think what you mean is

Assuming[a<0 && b\[Element]Reals && c==3, FullSimplify[Integrate[f[a,b,c,d], {d,e,f}]]]

if you have different assumptions for different variables, or with the same assumption for a bunch of variables:

Assuming[{a, b, c}>0 && a>b, FullSimplify[Integrate[f[a,b,c,d], {d,e,f}]]]

so use the Assuming[] and && commands.

The difference between the Assuming[] and the Assumptions-> command is the topic of this thread: click

  • $\begingroup$ Two question about this: Is there a way to specify the assumption that all variables involved are real using this method, the way Assumptions->Reals does? And I thought I had read that using Assuming[a==1, ...] permanently added "a==1" to the default assumptions for further calculations until changed, so I had avoided it. Is that true or am I mistaken? $\endgroup$
    – Max
    May 11, 2016 at 3:57
  • $\begingroup$ @Max, Assuming only temporarily appends to $Assumptions for that expression -- it won't affect further calculations. To see this, try comparing $Assumptions with Assuming[x > 0, $Assumptions] ...That said, I usually do what you did by adding an assumption to Integrate. I find that more readable. $\endgroup$
    – Rashid
    May 11, 2016 at 4:11
  • $\begingroup$ Rashid already answered that, but for your integral there seems to be no analytical solution with the given assumptions, so you might have to use NIntegrate instead of Integrate. $\endgroup$
    – Yukterez
    May 11, 2016 at 4:23

Your Answer

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

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