# 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 =. ; ` `

Este artigo foi útil?

Algum comentário?

## Entre em contato com o Suporte

Caso tenha alguma dúvida sobre cobrança, ativação ou suporte técnico, estamos a sua total disposição.

Ligue para a Wolfram

## 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