如何使用sympy或numpy检查具有两个索引的系列的收敛性

时间:2017-04-15 16:42:58

标签: python numpy sympy

我有两个符号的系列,我需要找到两点精度的和。我使用sympy检查了一些部件的结果,我知道答案,但我不知道如何证明它。我甚至不知道如何使用sympy证明收敛

import sympy as sp

i, j = sp.symbols('i, j', integer = True)
S = sp.Sum(sp.Sum(1/(i * j)*sp.sin(sp.pi*i/2)*
           sp.sin(sp.pi*(2*j-1)/2)/sp.sinh(sp.pi*i), (i, 1,sp.oo )),(j,1,sp.oo))

S.is_convergent()

返回

NotImplementedError: convergence checking for more that one symbol
containing series is not handled

1 个答案:

答案 0 :(得分:0)

原则上,您可以通过调用方法Sum来评估Sympy .doit(),该方法返回一个封闭形式的表达式(如果Sympy能够找到一个),或者通过调用方法{ {1}},返回总和(浮点数)的数值近似值。在这种情况下,两个选项都不起作用(我希望至少.n()给出答案)。

作为一种解决方法,您可以尝试执行总和的简化,然后尝试对其进行评估。特别是,

.n()

返回

enter image description here

将双指数和转换为两个单指数和的乘积。调用

S.factor()

返回

enter image description here

这意味着无法以封闭形式评估第二笔金额。但是,S.factor().doit() 现在有效。

.n()
  

S.factor().n()