python中的无限总和

Adh*_*tha 6 python

我听说python可以做无限的总和.例如,如果我想评估无限和:

1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我是python的新手.所以如果有人可以写出整个代码并且我需要包含/导入某些内容,我将不胜感激.

例如,在wolfram alpha中,如果我输入Summation (-1)^(n-1)/(2*n-1) from n=1 to infinity它给出答案为0.785395.我想要计算出所需精度的答案,例如wolfram alpha最多6位数.

此外,我在这里看了这篇文章并试图模仿,但它给了我以下错误:

`NameError: name 'Infinity' is not defined`
`NameError: name 'Inf' is not defined`
Run Code Online (Sandbox Code Playgroud)

谢谢,Adhvaitha

orl*_*rlp 8

虽然它仍然是有限的,但您可以使用fractionsdecimal模块来近似该系列:

from fractions import Fraction
from decimal import Decimal

repetitions = 100

d = 1
r = Fraction(1, d)

for n in range(repetitions):
    r += Fraction(1, d) - Fraction(1, d + 2)
    d += 4

print(Decimal(r.numerator)/Decimal(r.denominator))
Run Code Online (Sandbox Code Playgroud)

我认为这最接近你想做的事情.


Ned*_*der 5

Python具有无限精度整数,但不具有无限精度浮点数.但是,您可以使用提供的包.

没有什么能够"完成"无限的总和,因为它涉及无数个步骤.您需要找到总和的封闭形式,然后对其进行评估,或者接受通过在满足精度标准时终止无限和来实现的近似.


NPE*_*NPE 5

在这里黑暗中的一点镜头...我敢打赌,当你听说Python能够做无限数量时,他们的意思是在Python中长整数具有无限精度.

显然,这与总结无限系列无关.

我不知道Python的任何方面会使它特别适合计算这种总和(或确实确定一个和是否收敛).

您可以尝试使用一些合理的停止标准直接求和术语.但是,这只适用于表现良好的系列.

最后,为了给你一些你所要求的复杂性,学术论文的出版,其唯一目的是处理某些小类系列的总和.你摆出的一般问题并不像看起来那么容易.