обратное преобразование Фурье,sympy: возвращает входное выражение, а не решение

Я новичок в пакете 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 alpha, и он смог вычислить обратное, так что результат действительно существует.

Скриншот

0 ответов

Другие вопросы по тегам