Метод Дюрана – Кернера - Durand–Kerner method
Эта статья имеет нечеткий стиль цитирования.Ноябрь 2020) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
В числовой анализ, то Метод Вейерштрасса или же Метод Дюрана – Кернера, обнаруженный Карл Вейерштрасс в 1891 г. и независимо заново открытая Дюраном в 1960 г. и Кернером в 1966 г. алгоритм поиска корней для решения многочлен уравнения.[1] Другими словами, метод может быть использован для численного решения уравнения
- ж(Икс) = 0,
куда ж - заданный многочлен, который можно масштабировать так, чтобы старший коэффициент был равен 1.
Объяснение
Это объяснение рассматривает уравнения степень четыре. Его легко обобщить на другие степени.
Пусть многочлен ж определяться
для всех Икс.
Известные числа а, б, c, d являются коэффициенты.
Пусть (комплексные) числа п, Q, р, S быть корнями этого многочлена ж.
потом
для всех Икс. Можно выделить значение п из этого уравнения:
Так что если использовать как фиксированная точка итерация
он сильно устойчив в том, что каждая начальная точка Икс0 ≠ Q, р, Sдоставляет после одной итерации корень п = Икс1.
Кроме того, если заменить нули Q, р и Sприближениями q ≈ Q, р ≈ р, s ≈ S, так что q, р, s не равны п, тогда постается неподвижной точкой возмущенной итерации с фиксированной точкой
поскольку
Обратите внимание, что знаменатель по-прежнему отличен от нуля. Эта итерация с фиксированной точкой является сжатие за Икс вокруг п.
Ключ к методу теперь состоит в том, чтобы объединить итерацию с фиксированной точкой для п с аналогичными итерациями для Q, р, S в одновременную итерацию для всех корней.
Инициализировать п, q, р, s:
- п0 := (0.4 + 0.9я)0,
- q0 := (0.4 + 0.9я)1,
- р0 := (0.4 + 0.9я)2,
- s0 := (0.4 + 0.9я)3.
Нет ничего особенного в выборе 0,4 + 0,9я за исключением того, что это не настоящий номер ни корень единства.
Сделайте замены для п = 1, 2, 3, ...:
Повторяйте до тех пор, пока числа п, q, р, sпо существу перестают изменяться относительно желаемой точности. Затем они принимают значения п, Q, р, S в каком-то порядке и с выбранной точностью. Итак, проблема решена.
Обратите внимание, что комплексное число должна использоваться арифметика и чтобы корни находились одновременно, а не по одному.
Вариации
Эта итерационная процедура, как и Метод Гаусса – Зейделя для линейных уравнений вычисляет одно число за раз на основе уже вычисленных чисел. Вариант этой процедуры, например Метод Якоби, вычисляет вектор аппроксимации корней за один раз. Оба варианта являются эффективными алгоритмами поиска корней.
Также можно было выбрать начальные значения для п, q, р, sкакой-либо другой процедурой, даже случайным образом, но таким образом, чтобы
- они находятся внутри некоторого не слишком большого круга, содержащего также корни ж(Икс), например круг вокруг начала координат с радиусом , (где 1, а, б, c, d являются коэффициентами при ж(Икс))
и это
- они не слишком близки друг к другу,
что может все больше вызывать беспокойство по мере увеличения степени полинома.
Если коэффициенты действительные и степень многочлена нечетная, то он должен иметь хотя бы один действительный корень. Чтобы найти это, используйте реальное значение п0 как первоначальное предположение и сделать q0 и р0, так далее., комплексно сопряженный пары. Тогда итерация сохранит эти свойства; то есть, пп всегда будет реальным, и qп и рпи т. д. всегда будут сопряженными. Таким образом, пп сведется к настоящему корню п. Или же сделайте все первоначальные предположения реальностью; они останутся такими.
Пример
Этот пример взят из ссылки 1992. Решенное уравнение: Икс3 − 3Икс2 + 3Икс − 5 = 0. Первые 4 итерации перемещаются п, q, р Вроде бы хаотично, но тогда корни располагаются с точностью до 1 знака после запятой. После итерации номер 5 у нас есть 4 правильных десятичных знака, а следующая итерация номер 6 подтверждает, что вычисленные корни фиксированы. Такое общее поведение характерно для метода. Также обратите внимание, что в этом примере корни используются сразу после их вычисления на каждой итерации. Другими словами, при вычислении каждого второго столбца используются значения предыдущих вычисленных столбцов.
it.-no. п q р 0 +1,0000 + 0,0000i +0,4000 + 0,9000i -0,6500 + 0,7200i 1 +1,3608 + 2,0222i -0,3658 + 2,4838i −2,3858 - 0,0284i 2 +2,6597 + 2,7137i +0,5977 + 0,8225i −0,6320−1,6716i 3 +2,2704 + 0,3880i +0,1312 + 1,3128i +0,2821 - 1,5015i 4 +2,5428 - 0,0153i +0,2044 + 1,3716i +0,2056 - 1,3721i 5 +2,5874 + 0,0000i +0,2063 + 1,3747i +0,2063 - 1,3747i 6 +2,5874 + 0,0000i +0,2063 + 1,3747i +0,2063 - 1,3747i
Обратите внимание, что уравнение имеет один действительный корень и одну пару комплексно сопряженных корней, а сумма корней равна 3.
Вывод метода через метод Ньютона.
Для каждого п-набор комплексных чисел, существует ровно один монический многочлен степени п который имеет их в качестве нулей (с сохранением кратностей). Этот многочлен получается путем умножения всех соответствующих линейных множителей, то есть
Этот многочлен имеет коэффициенты, зависящие от заданных нулей,
Эти коэффициенты с точностью до знака элементарные симметричные полиномы степеней 1, ..., п.
Чтобы найти все корни заданного многочлена с вектором коэффициентов одновременно - это то же самое, что найти вектор решения системы
Метод Дюрана – Кернера получается как многомерный Метод Ньютона применяется к этой системе. С алгебраической точки зрения удобнее рассматривать эти тождества коэффициентов как тождества соответствующих многочленов, . В методе Ньютона по некоторому начальному вектору , для вектора приращения такой, что выполняется с точностью до членов второго и более высокого порядка в приращении. Для этого решается тождество
Если числа попарно различны, то многочлены в правой части образуют базис п-мерное пространство многочленов максимальной степени п - 1. Таким образом, решение в уравнение приращения существует в этом случае. Координаты приращения просто получаются путем вычисления уравнения приращения
в точках , что приводит к
- , то есть
Включение корня через круги Гершгорина
в кольцо частного (алгебра) классы остатков по модулю ƒ (Икс) умножение на Икс определяет эндоморфизм имеющая нули (Икс) в качестве собственные значения с соответствующими кратностями. Выбирая базис, оператор умножения представляется своей матрицей коэффициентов А, то сопутствующая матрица из ƒ (Икс) на этой основе.
Поскольку любой многочлен сводится по модулю (Икс) до полинома степени п -1 или ниже, пространство классов вычетов можно отождествить с пространством многочленов степени, ограниченной п - 1. Основание для конкретной проблемы может быть взято из Интерполяция Лагранжа как набор п многочлены
куда - попарно различные комплексные числа. Обратите внимание, что функции ядра для интерполяции Лагранжа: .
Для оператора умножения, примененного к базисным многочленам, получается из интерполяции Лагранжа
, |
куда это снова обновления Вейерштрасса.
Сопутствующая матрица ƒ (Икс) следовательно является
Из транспонированного матричного случая Теорема Гершгорина о круге следует, что все собственные значения А, то есть все корни ƒ (Икс), содержатся в объединении дисков с радиусом .
Здесь есть , поэтому центры - это следующие итерации итерации Вейерштрасса, а радиусы которые кратны обновлениям Вейерштрасса. Если корни (Икс) все хорошо изолированы (относительно точности вычислений), а точки являются достаточно близкими приближениями к этим корням, то все диски станут непересекающимися, поэтому каждый из них содержит ровно один ноль. Середины кругов будут лучшими приближениями нулей.
Каждая сопряженная матрица из А также является сопутствующей матрицей ƒ (Икс). Выбор Т когда диагональная матрица покидает структуру А инвариантный. Корень близкий к содержится в любом изолированном круге с центром невзирая на Т. Выбор оптимальной диагональной матрицы Т для каждого индекса приводит к лучшим оценкам (см. ссылку Petkovic et al. 1995).
Результаты сходимости
Связь между разложением в ряд Тейлора и методом Ньютона предполагает, что расстояние от к соответствующему корню имеет порядок , если корень хорошо изолирован от ближайших корней и приближение достаточно близко к корню. Итак, после того, как приближение близко, метод Ньютона сходится квадратично; то есть ошибка возводится в квадрат с каждым шагом (что значительно снижает ошибку, если она меньше 1). В случае метода Дюрана – Кернера сходимость квадратичная, если вектор близка к некоторой перестановке вектора корней ж.
Для вывода о линейной сходимости есть более конкретный результат (см. Ссылку Petkovic et al. 1995). Если исходный вектор и его вектор обновлений Weierstrass удовлетворяет неравенству
то это неравенство также выполняется для всех итераций, всех дисков включения не пересекаются, и имеет место линейная сходимость с коэффициентом сжатия 1/2. Далее диски включения в этом случае можно выбрать как
каждый содержит ровно один ноль ж.
Отсутствие общей конвергенции
Метод Вейерштрасса / Дюрана-Кернера обычно не сходится: другими словами, неверно, что для каждого полинома набор начальных векторов, который в конечном итоге сходится к корням, является открытым и плотным. Фактически, существуют открытые наборы многочленов, которые имеют открытые наборы начальных векторов, которые сходятся к периодическим циклам, отличным от корней (см. Reinke et al.)
Рекомендации
- ^ Петкович, Миодраг (1989). Итерационные методы одновременного включения нулей полиномов. Берлин [u.a.]: Springer. С. 31–32. ISBN 978-3-540-51485-5.
- Weierstraß, Карл (1891). "Neuer Beweis des Satzes, dass jede ganze обоснование Функция einer Veränderlichen dargestellt werden kann als ein Product aus linearen Functionen derselben Veränderlichen". Sitzungsberichte der königlich preussischen Akademie der Wissenschaften zu Berlin.
- Дюран, Э. (1960). "Уравнения типа" F(Икс) = 0: полином Racines d'un ». В Masson; et al. (Eds.). Numériques des Equations Algébriques. 1.
- Кернер, Иммо О. (1966). "Ein Gesamtschrittverfahren zur Berechnung der Nullstellen von Polynomen". Numerische Mathematik. 8: 290–294. Дои:10.1007 / BF02162564.
- Прешич, Марица (1980). «Теорема сходимости для метода одновременного определения всех нулей многочлена» (PDF). Publications de l'Institut Mathématique. Nouvelle Série. 28 (42): 158–168.
- Петкович, М.С., Карстенсен, К., Трайкович, М. (1995). «Формула Вейерштрасса и методы нахождения нуля». Numerische Mathematik. 69: 353–372. CiteSeerX 10.1.1.53.7516.CS1 maint: несколько имен: список авторов (связь)
- Бо Джейкоби, Нульпунктер для полинома, CAE-nyt (периодическое издание для Dansk CAE Gruppe [датская группа CAE]), 1988.
- Агнет Кнудсен, Numeriske Metoder (конспекты лекций), Københavns Teknikum.
- Бо Джейкоби, Numerisk løsning af ligninger, Bygningsstatiske meddelelser (Издано Датским обществом структурных наук и инженерии), том 63, вып. 3–4, 1992, стр. 83–105.
- Гурдон, Ксавье (1996). Combinatoire, Algorithmique et Geometrie des Polynomes. Париж: Политехническая школа. Архивировано из оригинал на 2006-10-28. Получено 2006-08-22.
- Виктор Пан (Май 2002 г.): Одномерный полиномиальный поиск корня с более низкой точностью вычислений и более высокой скоростью сходимости. Tech-Report, Городской университет Нью-Йорка
- Ноймайер, Арнольд (2003). «Замыкание кластеров нулей многочленов». Журнал вычислительной и прикладной математики. 156: 389. Дои:10.1016 / S0377-0427 (03) 00380-7.
- Ян Вершельде, Метод Вейерштрасса (также известный как метод Дюрана – Кернера), 2003.
- Бернхард Рейнке, Дирк Шлейхер и Михаэль Штоль ''Поиск корней Вейерштрасса обычно не сходится, 2020
внешняя ссылка
- Ada Generic_Roots с использованием метода Дюрана – Кернера - ан Открытый исходный код реализация в Ада
- Полиномиальные корни - ан Открытый исходный код реализация в Ява
- Извлечение корней из многочленов: метод Дюрана – Кернера - содержит Java-апплет демонстрация