When do I use GenerateConditions and Assumptions with Integrate or Sum?
Integrate
and Sum
evaluations return generic solutions. These are usually correct for general cases, but may not apply for specific parameter values (see Generic and Non-Generic Cases).
For example, this summation is unbounded if x
is greater than or equal to 1:
In[1]:= Sum[x^n, {n, 0, Infinity}]
Out[1]= 1 / (1 - x)
The GenerateConditions
->True option tells the function to state when the solution is valid.
Now we confirm that the result applies only for Abs[x]<1
:
In[2]:= Sum[x^n, {n, 0, Infinity}, GenerateConditions -> True]
Out[2]= ConditionalExpression[1/(1 - x), Abs[x] < 1]
If any condition is known already, the Assumptions
option can be used to tell Sum
about it. This gives a simple output suitable for later use in the code. The explicit condition used here will need to be remembered when the result is used:
In[3]:= Sum[x^n, {n, 0, Infinity}, Assumptions -> {-1 < x && x < 1}]
Out[3]= 1/(1 - x)
Assumptions can also be passed using the Assuming
function or $Assumptions
:
In[4]:= Integrate[1/(x + a), {x, 0, 1}]
Out[4]= ConditionalExpression[-Log[a] + Log[1 + a],
Re[a] > 0 || Re[a] < -1 || NotElement[a, Reals]
In[5]:= Assuming[a > 0, Integrate[1/(x + a), {x, 0, 1}]] Out[5]= Log[1 + 1/a]
In[6]:= $Assumptions = a > 0; Integrate[1/(x + a), {x, 0, 1}] Out[7]= Log[1 + 1/a]
This resets $Assumptions
to its default:
In[8]:= $Assumptions =. ;
Contact Support
Whether you have a question about billing, activation or something more technical, we are ready to help you.
1-800-WOLFRAM (+1-217-398-0700 for international callers)
Customer Support
Monday–Friday
8am–5pm US Central Time
- Product registration or activation
- Pre-sales information and ordering
- Help with installation and first launch
Advanced Technical Support (for eligible customers)
Monday–Thursday
8am–5pm US Central Time
Friday
8:30–10am & 11am–5pm US Central Time
- Priority technical support
- Product assistance from Wolfram experts
- Help with Wolfram Language programming
- Advanced installation support