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 =. ;
Contate o Suporte
Se você tiver alguma dúvida sobre cobrança, ativação ou algo mais técnico, estamos prontos para ajudá-lo.
1-800-WOLFRAM (+1-217-398-0700 para chamadas internacionais)
Suporte ao consumidor
Segunda–Sexta
8:00–17:00 Horário Central dos EUA
- Registro ou ativação do produto
- Informações de pré-venda e pedidos
- Ajuda com instalação e início
Suporte técnico avançado (para clientes habilitados)
Segunda–Quinta
8:00–19:00 Horário Central dos EUA
FSexta
8:30–10:00 & 11:00–17:00 Horário Central dos EUA
- Suporte técnico prioritário
- Assistência com especialistas da Wolfram
- Ajuda com a programação da Wolfram Language
- Suporte avançado de instalação