与非线性表达式相乘时查找非线性表达式的根

时间:2019-05-26 11:48:10

标签: python numpy

这是一个简单的多项式方程:

b^2 + 2b + 1 = 0

我可以很容易地解决这个问题:

import numpy as np
from scipy.optimize import fsolve

eq = lambda b : np.power(b,2) + 2*b + 1
fsolve(eq, np.linspace(0,1,2))

类似地,我可以求解具有有限数量项的任何方程式。但是,我该如何求解具有无限数量项的方程,其给出为:

enter image description here

上面的等式可以写成:

5 = (1 - l) * (5.5 + 4.0*l + 4*l^2 + 6*l^3 + 5*l^4 + 5*l^5 + 5*l^6 + 5*l^7 + 5*l^8 + 5*l^9 + 5*l^10   )

当n从1到10时。但是我想解决n足够大的值,使LHS〜= RHS。

我知道LHS和G1 -> Ginf的值,但无法理解如何在此处计算lambda的值。

我尝试查看numpy polynomial functions,但找不到与此处相关的功能。

1 个答案:

答案 0 :(得分:0)

以下内容掩盖了一个事实,即我不是100%理解系数表示法G_t:t+n(应该确切地表示哪种依赖性?)

很显然,解决方案将取决于系数。如果如您的示例所示,系数在某个索引n_0以上都相等,则您的r.h.s。 expression是一个可伸缩的总和,等于G_t:1 + sum_1 ^ n_0 [G_t:n-G_t:n + 1] l ^ n`。请务必注意,这个总和是有限的,所以您知道如何从这里开始。

一个警告:您必须具有|l| < 1,否则该系列将不会收敛,并且r.h.s。不确定,尽管可以使用某种连续参数。