逆傅里叶变换,sympy:返回输入表达式而不是解

2024-05-21 04:16:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新的软件包sympy和正确的尝试计算逆傅里叶变换。 遗憾的是,我的代码只返回Latex表达式而不计算积分

目的是用密度泛函理论计算硬棒的直接相关函数

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,它就能计算出结果的倒数

ScreenShot


Tags: 代码目的表达式functionsimplifysigmalatex密度