Jump to content

Обратная итерация

В численном анализе обратная итерация (также известная как метод обратной мощности ) представляет собой итерационный алгоритм собственных значений . Это позволяет найти приблизительную собственный вектор , когда приближение к соответствующему собственному значению уже известно.Метод концептуально аналогичен степенному методу .Судя по всему, изначально он был разработан для расчета резонансных частот в области строительной механики. [1]

Алгоритм итерации обратной степени начинается с аппроксимации для собственного значения, соответствующего желаемому собственному вектору , и вектору , либо случайно выбранный вектор, либо приближение к собственному вектору. Метод описывается итерацией

где некоторые константы обычно выбираются как Поскольку собственные векторы определены с точностью до умножения на константу, выбор теоретически может быть произвольным; практические аспекты выбора обсуждаются ниже.

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

Теория и конвергенция

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

Основная идея степенной итерации — выбор начального вектора. (либо собственного вектора аппроксимация , либо случайный вектор) и итеративное вычисление . За исключением набора нулевой меры , для любого начального вектора результат будет сходиться к собственному вектору, соответствующему доминирующему собственному значению .

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

Вывод : метод сходится к собственному вектору матрицы соответствующее ближайшему собственному значению

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

Скорость сходимости

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

Проанализируем скорость сходимости метода.

степенной метод Известно, что сходится к пределу линейно , точнее:

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

Это ключевая формула для понимания сходимости метода. Это показывает, что если выбирается достаточно близко к некоторому собственному значению , например каждая итерация будет повышать точность раз. (Мы используем это для достаточно небольших "ближайший к " и "ближайший к " то же самое.) Для достаточно маленьких это примерно то же самое, что и . Следовательно, если кто-то сможет найти , такой, что будет достаточно мал, то очень небольшое количество итераций может быть удовлетворительным.

Сложность

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

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

Варианты реализации

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

Метод определяется формулой:

Однако существует несколько вариантов его реализации.

Вычислить обратную матрицу или решить систему линейных уравнений

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

Мы можем переписать формулу следующим образом:

подчеркивая, что для нахождения следующего приближения мы можем решить систему линейных уравнений. Есть два варианта: можно выбрать алгоритм, решающий линейную систему, или можно вычислить обратную а затем применить его к вектору.Оба варианта имеют сложность O ( n 3 ), точное количество зависит от выбранного метода.

Выбор зависит также от количества итераций. Наивно, если на каждой итерации решать линейную систему, сложность будет равна k O ( n 3 ), где k — количество итераций; аналогично вычисление обратной матрицы и ее применение на каждой итерации имеет сложность k O ( n 3 ).Однако заметим, что если оценка собственных значений остается постоянной, то мы можем уменьшить сложность до O ( n 3 ) + k О ( п 2 ) любым методом.Вычисление обратной матрицы один раз и сохранение ее для применения на каждой итерации имеет сложность O ( n 3 ) + k О ( п 2 ).Сохранение -разложения LU а использование прямой и обратной замены для решения системы уравнений на каждой итерации также имеет сложность O ( n 3 ) + k О ( п 2 ).

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

Если необходимо выполнить много итераций (или мало итераций, но для многих собственных векторов), то, возможно, было бы разумно привести матрицу к сначала верхняя форма Хессенберга (для симметричной матрицы это будет трехдиагональная форма ). Какие затраты арифметические операции с использованием техники, основанной на редукции Хаусхолдера ), с конечной последовательностью ортогональных преобразований подобия, что-то вроде двустороннего QR-разложения. [2] [3] (Для QR-разложения вращения Хаусхолдера умножаются только слева, но для случая Хессенберга они умножаются как слева, так и справа.) Для симметричных матриц эта процедура стоит арифметические операции с использованием метода, основанного на редукции Хаусхолдера. [2] [3]

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

Кроме того, преобразование в форму Хессенберга включает в себя квадратные корни и операцию деления, которые не всегда поддерживаются аппаратным обеспечением.

Выбор константы нормировки C k

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

На процессорах общего назначения (например, производства Intel) время выполнения операций сложения, умножения и деления примерно одинаковое. Но на встроенном и/или низкоэнергетическом оборудовании ( процессоры цифровых сигналов , FPGA , ASIC ) разделение может не поддерживаться аппаратно, и поэтому его следует избегать. Выбор позволяет быстрое деление без явной аппаратной поддержки, поскольку деление на степень 2 может быть реализовано либо как битовый сдвиг (для арифметики с фиксированной запятой ), либо как вычитание из экспоненты (для арифметики с плавающей запятой ).

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

Использование

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

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

Методы поиска приближенных собственных значений

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

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

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

Норма матрицы как приближение к доминирующему собственному значению

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

Доминирующее собственное значение можно легко оценить для любой матрицы. Для любой индуцированной нормы верно, что для любого собственного значения . Таким образом, приняв норму матрицы в качестве приблизительного собственного значения, можно увидеть, что метод сходится к доминирующему собственному вектору.

Оценки на основе статистики

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

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

См. также

[ редактировать ]
  1. ^ Эрнст Полхаузен, Расчет собственных колебаний статически определенных ферм , ZAMM - Журнал прикладной математики и механики 1, 28-42 (1921).
  2. ^ Jump up to: а б Деммель, Джеймс В. (1997), Прикладная числовая линейная алгебра , Филадельфия, Пенсильвания: Общество промышленной и прикладной математики , ISBN  0-89871-389-7 , МР   1463942 .
  3. ^ Jump up to: а б Ллойд Н. Трефетен и Дэвид Бау, Численная линейная алгебра (SIAM, 1997).
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: a459707cd1333f6e9a754bdaa2822e32__1701318360
URL1:https://arc.ask3.ru/arc/aa/a4/32/a459707cd1333f6e9a754bdaa2822e32.html
Заголовок, (Title) документа по адресу, URL1:
Inverse iteration - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)