обратное преобразование Фурье, sympy: возвращает входное выражение, а не решение - PullRequest
0 голосов
/ 23 октября 2019

Я новичок в пакете sympy и правильно пытаюсь вычислить обратное преобразование Фурье. К сожалению, мой код возвращает только латексное выражение без вычисления интеграла.

Цель состоит в том, чтобы вычислить функцию прямой корреляции по жестким стержням из теории функционала плотности

from sympy import * 

xi, sigma, k, rho, s, x= symbols('xi sigma k rho s x')
init_printing()

h_rod, g_rod, omega_rod = symbols('h_rod g_rod omega_rod', cls=Function)
h_rod= Function('h')(k)
g_rod = Function('g')(k)
omega_rod=Function('omega')(s)
c_k_rod=Function('c_k')(k)
c_x_rod=Function('c_x')(x)


omega_rod=1/s*exp(-s*sigma)
g_rod=(1/rho*((omega_rod.subs(s,xi)/omega_rod.subs(s,xi+s))-1)**(-1))
g_rod=simplify(g_rod)

h_rod=g_rod.subs(s,I*k)+g_rod.subs(s,-I*k)
h_rod=simplify(h_rod)

c_k_rod=h_rod.subs(k,k)/(1+rho*h_rod.subs(k,k))
c_k_rod=simplify(c_k_rod)

c_x_rod=inverse_fourier_transform(c_k_rod,k,x)

Как видно на моем экранеВыстрел из моей записной книжки, код не вычисляет обратное значение.

Есть ли ошибка в моем коде или это проблема в sympy?

Я ввел каждый элемент суммы в альфа Wolfram ион смог вычислить обратное, поэтому результат существует.

ScreenShot

...