哪个编程语言或库可以处理无穷级数?

26 投票
13 回答
3926 浏览
提问于 2025-04-15 21:04

哪种编程语言或库可以处理无限级数(比如几何级数或调和级数)呢?它可能需要有一些常见级数的数据库,能够自动给出收敛时的正确值,如果发散的话可能会生成一个异常。

比如,在Python中,它可能看起来像这样:

sum  = 0
sign = -1.0
for i in range(1,Infinity,2):
     sign = -sign
     sum += sign / i

那么,结果应该是math.pi/4,而不需要在循环中进行任何计算(因为这是一个众所周知的和)。

13 个回答

15

你可以去看看维基百科上关于计算机代数系统的分类,这里有很多相关的信息。

18

大多数支持惰性计算的函数式编程语言可以模拟无限序列的处理。你也知道,在有限的计算机上是不可能真正处理无限序列的。随便想想,我觉得 Mathematica 可以做到你可能需要的大部分功能,我猜 Maple 也可以,可能还有 Sage 以及其他计算代数系统。如果你找不到合适的 Haskell 实现,我会感到很惊讶。

补充说明一下:我并不是说要生成无限循环。惰性计算让你可以编写程序(或函数)来模拟无限序列,而这些程序本身在时间和空间上都是有限的。使用这样的语言,你可以相当准确地确定模拟的无限序列的许多特性,比如收敛性,并且有一定的把握。可以试试 Mathematica,如果你没有这个软件,可以去 Wolfram Alpha 看看这个系统能为你做些什么。

4

你需要一个可以进行符号计算的工具,比如Mathematica。你也可以考虑使用wolframalpha来查询这个公式:sum((-1)^i*1/i, i, 1 , inf)

撰写回答