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 '16 at 2:11
  • $\begingroup$ e must be Real anyway since it is greater than 0 $\endgroup$ – censored user May 11 '16 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 '16 at 3:52
  • $\begingroup$ Possible duplicate of Usage of Assuming for Integration $\endgroup$ – user9660 May 11 '16 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 '16 at 4:16

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 '16 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 '16 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$ – censored user May 11 '16 at 4:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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