Метод Лагерра - PullRequest
       75

Метод Лагерра

0 голосов
/ 27 февраля 2020

Я пытаюсь реализовать метод Лагерра для следующего уравнения:

1/(99*x+1)=2. (общая форма более сложная - многочлен n-й степени 1/(a*x+1)+...+1/(z*x+1)=res), где a,b,...z>=0 и 0<res<N

, но быстро заканчивается и уходит в бесконечность.

Решение для этого случая очень просто - -0.00505050505050505.

Поскольку говорят, что метод Лагерра работает в 99,999% случаев, я надеюсь, что это не 0,001?

Есть ли другой способ, которым я мог бы использовать для полиномиальных корней, который работает во всех случаях? Мне нужен только один настоящий root (а в моем случае всегда 1).

1 Ответ

0 голосов
/ 27 февраля 2020

Метод Лагерра работает исключительно для полиномов, поэтому вам нужно сначала преобразовать ваши выражения в полиномиальную форму. Тогда ваше первое уравнение становится линейным, что любой метод решает за один шаг. Ваша общая проблема имеет вид 1/x*q'(1/x)/q(1/x)=res с q(z)=(z+a1)*...*(z+an), так что полином z*q'(z)-res*q(z) или x^(n-1)*q'(1/x)-res*x^n*q(1/x).

Если вы хотите использовать метод третьего порядка для общих функций, попробуйте метод Галлея.

...