Нахождение корней нелинейного выражения при умножении на линейное выражение - PullRequest
3 голосов
/ 26 мая 2019

Вот простое полиномиальное уравнение:

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но не могу понять, как я могу вычислить здесь значение лямбды.

Я пытался посмотреть numpy полиномиальные функции , но не смог найти функцию, которая здесь уместна.

1 Ответ

0 голосов
/ 26 мая 2019

Следующие термины означают, что я не на 100% понимаю обозначения коэффициентов G_t:t+n (какая зависимость должна точно указывать?)

Очевидно, что решение будет зависеть от коэффициентов.Если, как показывает ваш пример, все коэффициенты выше некоторого индекса n_0, то ваше выражение rhs является телескопической суммой и равно G_t:1 + sum_1 ^ n_0 [G_t: n - G_t: n + 1] l ^ n`,Обязательно обратите внимание, что эта сумма конечна, поэтому вы знаете, как поступить отсюда.

Одно предостережение: у вас должно быть |l| < 1, в противном случае ряд не сходится и резус не определен, хотя какой-топродолжение аргумента может быть возможным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...