Jump to content

Алгоритм Дженкинса – Трауба

Алгоритм Дженкинса-Трауба для полиномиальных нулей — это быстрый глобально сходящийся итерационный метод поиска корня полинома, опубликованный в 1970 году Майклом А. Дженкинсом и Джозефом Ф. Траубом . Они предложили два варианта: один для общих полиномов с комплексными коэффициентами, широко известный как алгоритм «CPOLY», и более сложный вариант для частного случая полиномов с действительными коэффициентами, широко известный как алгоритм «RPOLY». Последний является «практически стандартом в средствах поиска корней многочленов черного ящика». [ 1 ]

В данной статье описан сложный вариант. Учитывая полином P , с комплексными коэффициентами он вычисляет приближения к n нулям P ) ( z , по одному в примерно возрастающем порядке. После вычисления каждого корня его линейный коэффициент удаляется из многочлена. Использование этого дефлятирования гарантирует, что каждый корень вычисляется только один раз и что все корни найдены.

Действительный вариант следует той же схеме, но вычисляет два корня одновременно: либо два действительных корня, либо пару сопряженных комплексных корней. Избегая сложной арифметики, реальный вариант может быть быстрее (в 4 раза), чем сложный вариант. Алгоритм Дженкинса-Трауба стимулировал значительные исследования теории и программного обеспечения для методов этого типа.

Алгоритм Дженкинса – Трауба вычисляет все корни многочлена с комплексными коэффициентами. Алгоритм начинается с проверки полинома на наличие очень больших или очень маленьких корней. При необходимости коэффициенты масштабируются путем изменения масштаба переменной. В алгоритме правильные корни находятся один за другим и, как правило, в возрастающем размере. После того, как каждый корень найден, полином дефлируется путем деления соответствующего линейного коэффициента. Действительно, разложение многочлена на линейный фактор и оставшийся дефлированный многочлен уже является результатом процедуры поиска корня. Процедура поиска корня имеет три этапа, соответствующие различным вариантам итерации обратной степени . См. Дженкинс и Трауб . [ 2 ] Описание также можно найти в Ралстоне и Рабинович [ 3 ] п. 383. Алгоритм по духу аналогичен двухэтапному алгоритму, изученному Траубом. [ 4 ]

Процедура поиска корня

[ редактировать ]

Начиная с текущего многочлена P ( X ) степени n , цель состоит в том, чтобы вычислить наименьший корень P (x) . Затем полином можно разделить на линейный множитель и оставшийся полиномиальный множитель. Другие методы поиска корня направлены в первую очередь на улучшение корня и, следовательно, первого фактора. Основная идея метода Дженкинса-Трауба заключается в постепенном улучшении второго фактора.

Для этого последовательность так называемых H- строится полиномов. Все эти многочлены имеют степень n - 1 и должны сходиться к множителю P ) , ( X содержащий (линейные множители) всех остальных корней. Последовательность полиномов H встречается в двух вариантах: ненормализованном варианте, который позволяет легко теоретическое понимание, и нормализованном варианте. полиномы, которые удерживают коэффициенты в численно разумном диапазоне. Построение H- полиномов руководствуется последовательностью комплексных чисел называются сменами. Сами эти сдвиги зависят, по крайней мере на третьем этапе, от предыдущих H. полиномов Полиномы H определяются как решение неявной рекурсии и Прямое решение этого неявного уравнения имеет вид где полиномиальное деление является точным.

Алгоритмически для оценки при полиномов и одновременно получить частное. С полученными факторами p ( X ) и h ( X ) в качестве промежуточных результатов следующий полином H получается как Поскольку коэффициент наивысшей степени получается из P(X) , старший коэффициент является . Если это разделить, нормализованный полином H будет равен

Этап первый: безсменный процесс

[ редактировать ]

Для набор . Обычно M=5 выбирается для полиномов умеренных степеней до n = 50. Этот этап не является необходимым только из теоретических соображений, но полезен на практике. подчеркивается В полиномах H кофактор(ы) (линейного множителя) наименьшего корня(ов).

Второй этап: процесс фиксированной смены

[ редактировать ]

Сдвиг на этом этапе определяется как некоторая точка, близкая к наименьшему корню многочлена. Он квазислучайно расположен на окружности с внутренним корневым радиусом, который, в свою очередь, оценивается как положительное решение уравнения Поскольку левая часть является выпуклой функцией и монотонно возрастает от нуля до бесконечности, это уравнение легко решить, например, методом Ньютона .

Теперь выберите на окружности этого радиуса. Последовательность полиномов , , генерируется с фиксированным значением сдвига . Это создает асимметрию по сравнению с предыдущим этапом, что увеличивает вероятность того, что полином H переместится в сторону кофактора одного корня. Во время этой итерации текущее приближение для корня

прослеживается. Второй этап завершается как успешный, если выполняются условия и одновременно встречаются. Это ограничивает относительный размер шага итерации, гарантируя, что последовательность аппроксимации останется в диапазоне меньших корней. Если после некоторого количества итераций успех не увенчался успехом, пробуется другая случайная точка круга. Обычно для полиномов средней степени используется девять итераций со стратегией удвоения в случае множественных сбоев.

Третий этап: процесс переменной смены

[ редактировать ]

The полиномы теперь генерируются с использованием переменных сдвигов которые генерируются являющаяся последней корневой оценкой второго этапа и где – нормированный полином H , т.е. разделенное на его ведущий коэффициент.

Если размер шага на третьем этапе не падает до нуля достаточно быстро, второй этап перезапускается с использованием другой случайной точки. Если после небольшого количества перезапусков это не удается, количество шагов на втором этапе удваивается.

Конвергенция

[ редактировать ]

Можно показать, что если L выбрано достаточно большим, s λ всегда сходится к корню P .

Алгоритм сходится для любого распределения корней, но может не найти все корни многочлена. Кроме того, сходимость происходит немного быстрее, чем квадратичная сходимость метода Ньютона-Рафсона, однако он использует в полтора раза больше операций на шаг: две полиномиальные оценки для Ньютона по сравнению с тремя полиномиальными оценками на третьем этапе.

Что дает алгоритму его мощь?

[ редактировать ]

Сравните с итерацией Ньютона – Рафсона.

Итерация использует заданные P и . В отличие от третьей стадии Дженкинса-Трауба

это в точности итерация Ньютона-Рафсона, выполняемая над некоторыми рациональными функциями . Точнее, метод Ньютона–Рафсона выполняется над последовательностью рациональных функций.

Для достаточно большой, максимально близко к полиному первой степени где является одним из нулей . Несмотря на то, что этап 3 представляет собой именно итерацию Ньютона-Рафсона, дифференцирование не выполняется.

Анализ H полиномов

[ редактировать ]

Позволять быть корнями P ( X ). так называемые факторы Лагранжа P(X) Кофакторами этих корней являются . Если все корни различны, то факторы Лагранжа образуют базис пространства многочленов степени не выше n - 1. Путем анализа рекурсивной процедуры обнаруживается, что многочлены H имеют координатное представление Каждый фактор Лагранжа имеет старший коэффициент 1, так что старший коэффициент полиномов H представляет собой сумму коэффициентов. Таким образом, нормализованные полиномы H имеют вид

Порядки конвергенции

[ редактировать ]

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

При условии, что получают асимптотические оценки для

  • этап 1:
  • для этапа 2, если s достаточно близко к : и
  • и для этапа 3: и что приводит к более высокому, чем квадратичный, порядку сходимости , где это золотое сечение .

Интерпретация как итерация обратной степени

[ редактировать ]

Все этапы комплексного алгоритма Дженкинса–Трауба можно представить как задачу линейной алгебры об определении собственных значений специальной матрицы. Эта матрица является координатным представлением линейного отображения в n -мерном пространстве многочленов степени n - 1 или меньше. Основная идея этой карты заключается в интерпретации факторизации с корнем и оставшийся множитель степени n - 1 как уравнение собственного вектора для умножения на переменную X с последующим вычислением остатка с делителем P ( X ), Это отображает полиномы степени не выше n - 1 в полиномы степени не выше n - 1. Собственные значения этого отображения являются корнями P ( X ), поскольку уравнение собственных векторов имеет вид что подразумевает, что , то есть, является линейным фактором P ( X ). В мономиальном базисе линейное отображение представляется сопутствующей матрицей полинома P , как результирующая матрица преобразования К этой матрице применяется обратная степенная итерация в трех вариантах: без сдвига, с постоянным сдвигом и обобщенным сдвигом Рэлея на трех этапах алгоритма. Операции линейной алгебры эффективнее выполнять в полиномиальной арифметике, а не матричными операциями, однако свойства обратной степенной итерации остаются прежними.

Реальные коэффициенты

[ редактировать ]

Алгоритм Дженкинса-Трауба, описанный ранее, работает для полиномов с комплексными коэффициентами. Те же авторы также создали трехэтапный алгоритм для полиномов с действительными коэффициентами. См. Дженкинс и Трауб. Трехэтапный алгоритм для действительных полиномов с использованием квадратичной итерации . [ 5 ] Алгоритм находит либо линейный, либо квадратичный коэффициент, полностью работающий в реальной арифметике. Если комплексный и действительный алгоритмы применяются к одному и тому же вещественному многочлену, реальный алгоритм работает примерно в четыре раза быстрее. Реальный алгоритм всегда сходится, и скорость сходимости превышает второй порядок.

Связь со смещенным алгоритмом QR

[ редактировать ]

Существует удивительная связь со смещенным QR-алгоритмом вычисления собственных значений матрицы. См. Деккер и Трауб. Сдвинутый QR-алгоритм для эрмитовых матриц . [ 6 ] Опять же, сдвиги можно рассматривать как итерацию Ньютона-Рафсона по последовательности рациональных функций, сходящейся к полиному первой степени.

Программное обеспечение и тестирование

[ редактировать ]

Программное обеспечение для алгоритма Дженкинса-Трауба было опубликовано как « Алгоритм Дженкинса и Трауба 419: нули комплексного полинома» . [ 7 ] Программное обеспечение для реального алгоритма было опубликовано как «Алгоритм Дженкинса 493: нули вещественного полинома» . [ 8 ]

Методы были тщательно проверены многими людьми. [ ВОЗ? ] Как и предсказывалось, они сходятся быстрее, чем квадратичная, для всех распределений нулей.

Однако существуют полиномы, которые могут привести к потере точности. [ 9 ] как показано на следующем примере. Все нули полинома лежат на двух полукругах разных радиусов. Уилкинсон рекомендует, чтобы для стабильной дефляции желательно сначала вычислять меньшие нули. Сдвиги второго этапа выбираются так, чтобы первыми находились нули на меньшем полукруге. Известно, что после дефляции многочлен с нулями в полукруге плохо обусловлен, если степень велика; см. Уилкинсон, [ 10 ] п. 64. Исходный полином имел степень 60 и страдал от сильной дефляционной нестабильности.

  1. ^ Пресс, В.Х., Теукольский, С.А., Веттерлинг, В.Т. и Фланнери, Б.П. (2007), Численные рецепты: искусство научных вычислений, 3-е изд., Cambridge University Press, стр. 470.
  2. ^ Дженкинс, М.А. и Трауб, Дж.Ф. (1970), Трехэтапная итерация со сдвигом переменных для полиномиальных нулей и ее связь с обобщенной итерацией Рэлея , Numer. Математика. 14, 252–263.
  3. ^ Ралстон А. и Рабиновиц П. (1978), Первый курс численного анализа, 2-е изд., МакГроу-Хилл, Нью-Йорк.
  4. ^ Трауб, Дж. Ф. (1966), Класс глобально сходящихся итерационных функций для решения полиномиальных уравнений , Math. Сост., 20(93), 113–138.
  5. ^ Дженкинс, М.А. и Трауб, Дж.Ф. (1970), Трехэтапный алгоритм для действительных полиномов с использованием квадратичной итерации , SIAM J. Numer. Анал., 7(4), 545–566.
  6. ^ Деккер, Т.Дж. и Трауб, Дж.Ф. (1971), Сдвинутый алгоритм QR для эрмитовых матриц , Lin. Приложение алгебры, 4 (2), 137–154.
  7. ^ Дженкинс, М.А. и Трауб, Дж.Ф. (1972), Алгоритм 419: нули комплексного полинома , Comm. АКМ, 15, 97–99.
  8. ^ Дженкинс, Массачусетс (1975), Алгоритм 493: Нули действительного многочлена , ACM TOMS, 1, 178–189.
  9. ^ «Устное историческое интервью Уильяма Кахана Томаса Хейга» . История численного анализа и научных вычислений . Филадельфия, Пенсильвания. 8 августа 2005 г. Проверено 3 декабря 2021 г.
  10. ^ Уилкинсон, Дж. Х. (1963), Ошибки округления в алгебраических процессах, Прентис Холл, Энглвуд Клиффс, Нью-Джерси
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a71ccbcb8e8baf3bf24462bc42adb015__1721800200
URL1:https://arc.ask3.ru/arc/aa/a7/15/a71ccbcb8e8baf3bf24462bc42adb015.html
Заголовок, (Title) документа по адресу, URL1:
Jenkins–Traub algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)