用mpmath-mpc类型求解符号同调

2024-06-26 00:13:15 发布

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

基本上就是标题所说的。我得到了我认为是在代码中传播的数值错误,所以我试图通过将所有类型都改为mpc来提高精度。然而,我的一些计算只是象征性的,而sympy似乎并不喜欢mpc。在

val += (1.0/2.0)*(1.0/kConversionFactor)**(ci) * ( A*k**(ln-lm+2*ci) - 1.0j*B*k**(ln+lm+1+2*ci) )
TypeError: unsupported operand type(s) for *: 'mpc' and 'Symbol'

k是符号A,B是mpc的符号


Tags: 代码ci标题类型错误符号精度val
1条回答
网友
1楼 · 发布于 2024-06-26 00:13:15

更新了以下评论:

val += (1.0/2.0)*(1.0/kConversionFactor)**(ci) * (mpcToSympy(A)*k**(ln-lm+2*ci) - sy.I*mpcToSympy(B)*k**(ln+lm+1+2*ci) )
....
def mpcToSympy(mpc_):
    return ( sy.Float(str(mpc_.real),DPS) + sy.Float(str(mpc_.imag),DPS)*sy.I )

请看这里:Convert from mpf to Sympy Float without losing precision

相关问题 更多 >