Почему SymPy действительно не вычисляет такой интеграл? - PullRequest
1 голос
/ 04 апреля 2020

Я пытаюсь запустить следующий пример в sympy

from sympy.functions import *
from sympy import *
init_printing(use_latex=False, use_unicode=False)
shift = Symbol('shift', real=True, nonzero=True)
x = Symbol('x', real=True, nonzero=True)
p = Symbol('p', real=True, nonzero=True)

integrate(exp(-p)/(p+shift), (p, x, oo))

По какой-то причине он фактически не решает этот интеграл. Он просто печатает исходный интеграл.

 oo             
  /             
 |              
 |      -p      
 |     e        
 |  --------- dp
 |  p + shift   
 |              
/               
x       

Но если я заменю сдвиг некоторой константой числительного c, тогда он вычисляет интеграл:

integrate(exp(-p)/(p+0.1), (p, x, oo))
                    /           I*pi\
-1.10517091807565*Ei\(x + 0.1)*e    /

Так что это Можно рассчитать этот интеграл, предполагая, что сдвиг является действительным числом.

Вопрос заключается в следующем: можно принудительно рассчитать этот интеграл, используя сдвиг как переменную типа Symbol?

...