Pythonで無限和として表現された方程式の数値解を見つけたいと思っています。 fsolve()
とsympy
を使用して簡略化した例は次のようになります。Pythonで和として表現された方程式の数値解を見つける
from scipy.optimize import fsolve
import math
from sympy import *
i = symbols('i', integer=True)
def f(x):
return Sum(x**i, (i,0, oo)).evalf(10)-1
print fsolve(f, 0.5)
私はエラーを取得しています:
AttributeError: 'list' object has no attribute 'is_commutative'
私は用語の唯一の有限数の合計と無限の和を代入し、またキャストしようとしました関数f()は浮動小数点型を出力しますが、同じエラーが発生します。これは簡単な作業のようですが、StackOverflowやドキュメントでこの問題の解決策を見つけることができませんでした。
私の質問は、Pythonで合計を使って表現された方程式を数値的に解決する方法です。
興味深いことに、Brentqはエラーを発生させませんが、すべての実数に収束する合計の場合、fsolveの誤差は依然として続きます。これは私の問題を解決しました。 –