我该如何解决这个等式
x 3 + x - 1 = 0
使用定点迭代?
是否有任何定点迭代代码(特别是在Python中)我可以在网上找到?
答案 0 :(得分:12)
import scipy.optimize as optimize
def func(x):
return -x**3+1
# This finds the value of x such that func(x) = x, that is, where
# -x**3 + 1 = x
print(optimize.fixed_point(func,0))
# 0.682327803828
定义fixed_point
的Python代码位于scipy / optimize / minpack.py中。具体位置取决于scipy
的安装位置。您可以通过键入
In [63]: import scipy.optimize
In [64]: scipy.optimize
Out[64]: <module 'scipy.optimize' from '/usr/lib/python2.6/dist-packages/scipy/optimize/__init__.pyc'>
可以通过转到documentation page并点击fixed_point
链接在线找到当前[source]
源代码。
答案 1 :(得分:2)
试用SymPy库。这是一个relevant example:
>>> solve(x**3 + 2*x**2 + 4*x + 8, x)
[-2*I, 2*I, -2]
我不确定SymPy使用哪种算法来解决这个问题。