Метод Бэрстовса - Bairstows method
Эта статья слишком полагается на Рекомендации к основные источники.Ноябрь 2018) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В числовой анализ, Метод Бэрстова эффективный алгоритм для поиска корни настоящего многочлен произвольной степени. Алгоритм впервые появился в приложении к книге 1920 г. Прикладная аэродинамика к Леонард Бэрстоу.[1][неосновной источник необходим ] Алгоритм находит корни в комплексно сопряженный пары, использующие только реальную арифметику.
Видеть алгоритм поиска корней для других алгоритмов.
Описание метода
Подход Бэрстоу заключается в использовании Метод Ньютона для настройки коэффициентов ты и v в квадратичный пока его корни не станут также корнями решаемого многочлена. Затем можно определить корни квадратичного уравнения, а полином можно разделить на квадратичный, чтобы исключить эти корни. Затем этот процесс повторяется до тех пор, пока многочлен не станет квадратичным или линейным, и все корни не будут определены.
Длинное деление решаемого многочлена
к дает частное и остаток такой, что
Второй дивизион к выполняется для получения частного и остальное с
Переменные , а являются функциями и . Их можно найти рекурсивно следующим образом.
Квадратичная без остатка делит многочлен, когда
Ценности и для которого это происходит, можно обнаружить, выбрав начальные значения и повторяя метод Ньютона в двух измерениях.
пока не произойдет схождение. Таким образом, этот метод нахождения нулей многочленов можно легко реализовать с помощью языка программирования или даже электронной таблицы.
Пример
Задача - определить пару корней многочлена
В качестве первого квадратичного многочлена можно выбрать нормированный многочлен, образованный тремя старшими коэффициентами ж(Икс),
Затем итерация создает таблицу
№ | ты | v | длина шага | корни |
---|---|---|---|---|
0 | 1.833333333333 | −5.500000000000 | 5.579008780071 | −0.916666666667±2.517990821623 |
1 | 2.979026068546 | −0.039896784438 | 2.048558558641 | −1.489513034273±1.502845921479 |
2 | 3.635306053091 | 1.900693009946 | 1.799922838287 | −1.817653026545±1.184554563945 |
3 | 3.064938039761 | 0.193530875538 | 1.256481376254 | −1.532469019881±1.467968126819 |
4 | 3.461834191232 | 1.385679731101 | 0.428931413521 | −1.730917095616±1.269013105052 |
5 | 3.326244386565 | 0.978742927192 | 0.022431883898 | −1.663122193282±1.336874153612 |
6 | 3.333340909351 | 1.000022701147 | 0.000023931927 | −1.666670454676±1.333329555414 |
7 | 3.333333333340 | 1.000000000020 | 0.000000000021 | −1.666666666670±1.333333333330 |
8 | 3.333333333333 | 1.000000000000 | 0.000000000000 | −1.666666666667±1.333333333333 |
После восьми итераций метод произвел квадратный множитель, который содержит корни -1/3 и -3 в пределах представленной точности. Длина шага с четвертой итерации демонстрирует сверхлинейную скорость сходимости.
Спектакль
Алгоритм Бэрстоу наследует локальную квадратичную сходимость метода Ньютона, за исключением случая квадратичных множителей с кратностью больше 1, когда сходимость к этому множителю линейна. Особый вид неустойчивости наблюдается, когда многочлен имеет нечетную степень и только один действительный корень. Квадратичные множители, которые имеют небольшое значение в этом действительном корне, имеют тенденцию расходиться до бесконечности.
Изображения представляют пары . Очки в верхней полуплоскости т > 0 соответствуют линейному множителю с корнями , то есть . Очки в нижней полуплоскости т <0 соответствуют квадратичным множителям с корнями , то есть, так что в целом . Точки окрашены в соответствии с последней точкой итерации Бэрстоу, черные точки указывают на расходящееся поведение.
Первое изображение является демонстрацией единственного реального корневого случая. Второй указывает на то, что можно исправить расходящееся поведение, введя дополнительный действительный корень, за счет снижения скорости сходимости. В случае многочленов нечетной степени можно сначала найти действительный корень, используя метод Ньютона и / или метод сокращения интервала, так что после дефляции остается полином четной степени с лучшим поведением. Третье изображение соответствует приведенному выше примеру.
Ссылка
- ^ Бэрстоу, Леонард (1920). «Приложение: Решение алгебраических уравнений с числовыми коэффициентами в случае, когда существует несколько пар комплексных корней». Прикладная аэродинамика. Лондон: Longmans, Green and Company. С. 551–560.
внешняя ссылка
- Алгоритм Бэрстоу на Mathworld
- Числовые рецепты в Fortran 77 Online
- Пример полиномиального корневого решателя (deg (п) ≤ 10) методом Бэрстова
- LinBairstowSolve, реализация метода Lin-Bairstow с открытым исходным кодом на C ++, доступная как метод библиотеки VTK.
- Онлайн-поиск корня многочлена - метод Бэрстова Фархад Мазлуми