(As I've asked on the Math StackExchange and on a related previous question), I am interested in getting a complete symbolic solution to the integral of an expression with a lot of unassigned variables. If you combine some of the variables, the integral can be reduced to the form:

$$\int_{-\infty}^\infty \frac{\text{A} \Delta +\text{B}}{\left(\Delta ^2+W^2\right) \left(\text{C}+\text{D}\Delta +\text{E}\Delta ^2 \right)}d\Delta$$

Mathematica claims that the solution to this integral is:

$$\frac{\pi (\text{B}-i \text{A} W)}{W (\text{C}-W (\text{E} W+i \text{D}))} \text{if: } \Im\left(\frac{E\pm\sqrt{E^2-4 C E}}{E}\right)<0 $$

Shown as code:

 (A1 Δ + B1)/((W^2 + Δ^2) (C1 + D1 Δ + E1 Δ^2)),
 {Δ, -∞, ∞}, Assumptions -> {W > 0}]

Which returns:

ConditionalExpression[(π (B1 - I A1 W))/(
 W (C1 - W (I D1 + E1 W))), 
 Im[(D1 - Sqrt[D1^2 - 4 C1 E1])/E1] < 0 && 
  Im[(D1 + Sqrt[D1^2 - 4 C1 E1])/E1] < 0 && Re[W] > 0]

Mathematica generates a conditional-expression, but doesn't specify if this is a "full" answer. For instance what if we consider the integral under the domain of parameters with the opposite inequalities: $\Im\left(\frac{E\pm\sqrt{E^2-4 C E}}{E}\right)>0$? Is there a solution in this domain of parameters?

I can try to force Mathematica to spit out an answer under different conditions. For example:

 (A1 Δ + B1)/((W^2 + Δ^2) (C1 + D1 Δ + E1 Δ^2)),
 {Δ, -∞, ∞}, 
 Assumptions -> {W > 0, Im[(D1 - Sqrt[D1^2 - 4 C1 E1])/E1] > 0, 
   Im[(D1 + Sqrt[D1^2 - 4 C1 E1])/E1] < 0}]

I can get another symbolic answer for this new parameter space:

$$\frac{i \pi \left(\text{A1} D W+(-i) \text{B1} \sqrt{D^2-4 C E}-2 \text{B1} E W\right)}{W \sqrt{D^2-4 C E} \left(C+W \left(E W+i \sqrt{D^2-4 C E}\right)\right)}$$

Is there an option to do this automatically and generate a solution for the entire set of possible combinations in the domain space? I'm honestly pretty surprised that it does not automatically return a combined piece-wise function with these different integrated results.


1 Answer 1


This is what GenerateConditions$\to$All is supposedly supposed to do, but I find it doesn't usually work. From the documentation GenerateConditions$\to$All should

return all possible answers using Piecewise

But I find it doesn't work for your integral and practically no, what you seek is unfortunately not possible. Straight from the documentation on Integrate (Under Options, Assumptions)

By default, conditions are generated on parameters that guarantee convergence


Manually specify Assumptions to test values outside the automatically generated conditions


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.