Solve this equation with fixed point iteration

后端 未结 2 1861
北海茫月
北海茫月 2021-02-14 17:16

How can I solve this equation

x3 + x - 1 = 0

using fixed point iteration?

Is there any fixed-point iteration

相关标签:
2条回答
  • 2021-02-14 17:44

    Try the SymPy library. Here's a relevant example:

    >>> solve(x**3 + 2*x**2 + 4*x + 8, x)
    [-2*I, 2*I, -2]
    

    I'm not sure which algorithm SymPy uses to solve the equation, though.

    0 讨论(0)
  • 2021-02-14 17:50

    Using scipy.optimize.fixed_point:

    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
    

    The Python code defining fixed_point is in scipy/optimize/minpack.py. The exact location depends on where scipy is installed. You can find that out by typing

    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'>
    

    The current fixed_point source code can be found online by going to the documentation page and clicking the [source] link.

    0 讨论(0)
提交回复
热议问题