Нахождение всех корней уравнения
Недостатком почти всех итерационных методов нахождения корней является то, что они при однократном применении позволяют найти лишь один корень функции, к тому же, мы не знаем какой именно.
Чтобы найти другие корни, можно было бы брать новые стартовые точки и применять метод вновь, но нет гарантии, что при этом итерации сойдутся к новому корню, а не к уже найденному, если вообще сойдутся.
Для поиска других корней используется метод удаления корней.
Пусть
—
корень функции
,
рассмотрим функцию
.
Точка
будет
являться корнем функции
на
единицу меньшей кратности, чем
,
при этом все остальные корни у
функций
и
совпадают
с учетом кратности.
Применяя
тот или иной метод нахождения корней к
функции
,
мы найдем новый корень
(который
может в случае кратных корней и совпадать
с
).
Далее можно рассмотреть функцию
и
искать корни у неё.
Повторяя указанную процедуру, можно найти все корни с учетом кратности.
Заметим,
что когда мы производим деление на тот
или иной корень
,
то в действительности мы делим лишь на
найденное приближение
,
и, тем самым, несколько сдвигаем корни
вспомогательной функции относительно
истинных корней функции
.
Это может привести к значительным
погрешностям, если процедура отделения
применялась уже достаточное число раз.
Чтобы избежать этого, с помощью вспомогательных функций вычисляются лишь первые итерации, а окончательные проводятся по исходной функции , используя в качестве стартового приближения, последнюю итерацию, полученную по вспомогательной функции.
Мы рассмотрели решение уравнений только в одномерном случае, нахождение решений многомерных уравнений существенно более трудная задача.
