Wolfram Computation Meets Knowledge

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

Была ли эта статья для вас полезной?
Да
Нет

Хотите оставить комментарий?

Спасибо за ваш отзыв.

Отправить

Обратиться в службу поддержки

Если у вас есть вопросы о ценах и оплате, активации или сомнения по техническим темам, мы готовы вам помочь.

1-800-WOLFRAM (+1-217-398-0700 для международных звонков)

Служба поддержки

Понедельник-пятница
с 08:00 до 17:00 по центральному времени США

  • Регистрация или активация продукта
  • Предпродажная информация и заказ
  • Помощь в установке и первом запуске

Расширенная техническая поддержка (для правомочных клиентов)

Понедельник-четверг
с 08:00 до 19:00 по центральному времени США

Пятница
с 08:30 до 10:00 и с 11:00 до 17:00 по центральному времени США

  • Приоритетная техническая поддержка
  • Поддержка по продуктам от экспертов Wolfram
  • Помощь специалистов по программированию на Wolfram Language
  • Расширенная поддержка установки