Jump to content

Андерсон ускорение

В математике ускорение Андерсона , также называемое перемешиванием Андерсона , представляет собой метод ускорения скорости сходимости итераций с фиксированной точкой . Представлено Дональдом Г. Андерсоном, [1] этот метод можно использовать для поиска решения уравнений с неподвижной точкой. часто возникающие в области вычислительной техники .

Определение

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

Дана функция , рассмотрим задачу нахождения неподвижной точки , что является решением уравнения . Классический подход к проблеме заключается в использовании итерационной схемы с фиксированной точкой ; [2] то есть при первоначальном предположении для решения, чтобы вычислить последовательность до тех пор, пока не будет выполнен некоторый критерий сходимости. Однако сходимость такой схемы в общем случае не гарантирована; более того, скорость сходимости обычно линейна, что может стать слишком медленным, если вычисление функции является вычислительно дорогостоящим. [2] Ускорение Андерсона — это метод ускорения сходимости последовательности с фиксированной точкой. [2]

Определить остаток , и обозначим и (где соответствует последовательности итераций из предыдущего пункта). Учитывая первоначальное предположение и целочисленный параметр , метод можно сформулировать следующим образом: [3] [примечание 1]

где умножение матрицы на вектор , и это -й элемент . Для завершения итераций метода можно использовать обычные критерии остановки. Например, итерации можно остановить, если попадает под установленный допуск или когда остаточная попадает под установленный допуск. [2]

Было обнаружено, что по сравнению со стандартной итерацией с фиксированной точкой этот метод сходится быстрее и более устойчив, а в некоторых случаях позволяет избежать расхождения последовательности с фиксированной точкой. [3] [4]

Для решения , мы это знаем , что эквивалентно тому, что . Поэтому мы можем перефразировать проблему как задачу оптимизации, в которой мы хотим минимизировать .

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

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

.

Решение задачи минимизации

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

На каждой итерации алгоритма ограниченной оптимизации задача , при условии необходимо решить. Задачу можно переформулировать в нескольких эквивалентных формулировках: [3] получение различных методов решения, которые могут привести к более удобной реализации:

  • определение матриц и , решать , и установите ; [3] [4]
  • решать , затем установите . [1]

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

Застой в методе (т.е. последующие итерации с одинаковым значением, ) приводит к сбою метода из-за сингулярности задачи наименьших квадратов. Аналогично, почти стагнация ( ) приводит к плохой обусловленности задачи наименьших квадратов. При этом выбор параметра может иметь значение при определении условия задачи наименьших квадратов, как обсуждается ниже . [3]

Релаксация

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

Алгоритм можно модифицировать, вводя переменный параметр релаксации (или параметр смешивания). . [1] [3] [4] На каждом шаге вычисляйте новую итерацию как Выбор имеет решающее значение для свойств сходимости метода; в принципе, может меняться на каждой итерации, хотя часто его выбирают постоянным. [4]

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

Выбор мк

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

Применительно к описанному выше алгоритму выбор на каждой итерации могут быть изменены. Одна из возможностей – выбрать за каждую итерацию (иногда называемое ускорением Андерсона без усечения). [3] Таким образом, каждая новая итерация вычисляется с использованием всех ранее вычисленных итераций. Более сложный метод основан на выборе так, чтобы поддерживать достаточно малую обусловленность для задачи наименьших квадратов. [3]

Отношения с другими классами методов

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

Метод Ньютона можно применить для решения задачи вычислить фиксированную точку с квадратичной сходимостью. Однако такой метод требует оценки точной производной , что может стоить очень дорого. [4] аппроксимация производной с помощью конечных разностей , но она требует многократного вычисления Возможная альтернатива — на каждой итерации, что опять же может оказаться очень дорогостоящим. Ускорение Андерсона требует только одной оценки функции на итерацию и без оценки ее производной. С другой стороны, сходимость ускоренной Андерсоном последовательности фиксированных точек в целом по-прежнему линейна. [5]

Некоторые авторы указали на сходство схемы ускорения Андерсона с другими методами решения нелинейных уравнений. В частности:

  • Эйерт [6] и Фанг и Саад [4] интерпретировал алгоритм в классе квазиньютоновских методов и методов мультисекущих, обобщающих известный метод секущих , для решения нелинейного уравнения ; они также показали, как схему можно рассматривать как метод класса Бройдена ; [7]
  • Уокер и Ни [3] [8] показал, что схема ускорения Андерсона эквивалентна методу GMRES в случае линейных задач (т.е. задачи поиска решения задачи для некоторой квадратной матрицы ), и, таким образом, его можно рассматривать как обобщение GMRES на нелинейный случай; аналогичный результат был получен Вашио и Остерли. [9]

Более того, несколько эквивалентных или почти эквивалентных методов были независимо разработаны другими авторами. [9] [10] [11] [12] [13] хотя чаще всего в контексте какого-то конкретного интересующего приложения, а не как общий метод для уравнений с фиксированной точкой.

Пример реализации MATLAB

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

Ниже приведен пример реализации на языке MATLAB схемы ускорения Андерсона для поиска фиксированной точки функции. . Обратите внимание:

  • задача оптимизации решалась в виде использование QR-разложения;
  • вычисление QR-разложения неоптимально: действительно, на каждой итерации к матрице добавляется один столбец , и, возможно, будет удален один столбец; этот факт можно использовать для эффективного обновления QR-разложения с меньшими вычислительными затратами; [14]
  • алгоритм можно сделать более эффективным с точки зрения использования памяти, сохраняя только несколько последних итераций и остатков, если весь вектор итераций не нужен;
  • код непосредственно обобщается на случай векторного числа .
f = @(x) sin(x) + atan(x); % Function whose fixed point is to be computed.x0 = 1; % Initial guess.k_max = 100; % Maximum number of iterations.tol_res = 1e-6; % Tolerance on the residual.m = 3; % Parameter m.x = [x0, f(x0)]; % Vector of iterates x.g = f(x) - x; % Vector of residuals.G_k = g(2) - g(1); % Matrix of increments in residuals.X_k = x(2) - x(1); % Matrix of increments in x.k = 2;while k < k_max && abs(g(k)) > tol_res    m_k = min(k, m);     % Solve the optimization problem by QR decomposition.    [Q, R] = qr(G_k);    gamma_k = R \ (Q' * g(k));     % Compute new iterate and new residual.    x(k + 1) = x(k) + g(k) - (X_k + G_k) * gamma_k;    g(k + 1) = f(x(k + 1)) - x(k + 1);     % Update increment matrices with new elements.    X_k = [X_k, x(k + 1) - x(k)];    G_k = [G_k, g(k + 1) - g(k)];     n = size(X_k, 2);    if n > m_k        X_k = X_k(:, n - m_k + 1:end);        G_k = G_k(:, n - m_k + 1:end);    end     k = k + 1;end% Prints result: Computed fixed point 2.013444 after 9 iterationsfprintf("Computed fixed point %f after %d iterations\n", x(end), k);

См. также

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

Примечания

[ редактировать ]
  1. ^ Эта формулировка отличается от той, которую дал первоначальный автор; [1] это эквивалентная, более явная формулировка, данная Уокером и Ни. [3]
  1. ^ Jump up to: а б с д Андерсон, Дональд Г. (октябрь 1965 г.). «Итерационные процедуры для нелинейных интегральных уравнений» . Журнал АКМ . 12 (4): 547–560. дои : 10.1145/321296.321305 .
  2. ^ Jump up to: а б с д Квартерони, Альфио ; Сакко, Риккардо; Салери, Фаусто. Численная математика (2-е изд.). Спрингер. ISBN  978-3-540-49809-4 .
  3. ^ Jump up to: а б с д и ж г час я дж к л м н Уокер, Гомер Ф.; Ни, Пэн (январь 2011 г.). «Ускорение Андерсона для итераций с фиксированной точкой». SIAM Journal по численному анализу . 49 (4): 1715–1735. CiteSeerX   10.1.1.722.2636 . дои : 10.1137/10078356X .
  4. ^ Jump up to: а б с д и ж г час Фанг, Хорен; Саад, Юсеф (март 2009 г.). «Два класса многосекущих методов нелинейного ускорения». Численная линейная алгебра с приложениями . 16 (3): 197–221. дои : 10.1002/nla.617 .
  5. ^ Эванс, Клэр; Поллок, Сара; Ребхольц, Лео Г.; Сяо, Мэнъин (20 февраля 2020 г.). «Доказательство того, что ускорение Андерсона улучшает скорость сходимости в линейно сходящихся методах фиксированной точки (но не в тех, которые сходятся квадратично)». SIAM Journal по численному анализу . 58 (1): 788–810. arXiv : 1810.08455 . дои : 10.1137/19M1245384 .
  6. ^ Эйерт, В. (март 1996 г.). «Сравнительное исследование методов ускорения сходимости итеративных векторных последовательностей». Журнал вычислительной физики . 124 (2): 271–285. дои : 10.1006/jcph.1996.0059 .
  7. ^ Бройден, CG (1965). «Класс методов решения нелинейных одновременных уравнений» . Математика вычислений . 19 (92): 577–577. дои : 10.1090/S0025-5718-1965-0198670-6 .
  8. ^ Ни, Пэн (ноябрь 2009 г.). Андерсон Ускорение итерации с фиксированной точкой с применением к расчетам электронных структур (доктор философии).
  9. ^ Jump up to: а б Остерли, CW; Васио, Т. (январь 2000 г.). «Ускорение нелинейных многосеточных нелинейных подпространств Крылова с применением к рециркуляционным потокам». Журнал SIAM по научным вычислениям . 21 (5): 1670–1690. дои : 10.1137/S1064827598338093 .
  10. ^ Пулай, Петер (июль 1980 г.). «Ускорение сходимости итерационных последовательностей. Случай scf-итерации». Письма по химической физике . 73 (2): 393–398. дои : 10.1016/0009-2614(80)80396-4 .
  11. ^ Пулай, П. (1982). «Улучшено ускорение сходимости SCF». Журнал вычислительной химии . 3 (4): 556–560. дои : 10.1002/jcc.540030413 .
  12. ^ Карлсон, Нил Н.; Миллер, Кейт (май 1998 г.). «Разработка и применение градиентно-взвешенного кода конечных элементов I: в одном измерении». Журнал SIAM по научным вычислениям . 19 (3): 728–765. дои : 10.1137/S106482759426955X .
  13. ^ Миллер, Кейт (ноябрь 2005 г.). «Нелинейный Крылов и подвижные узлы в методе прямых». Журнал вычислительной и прикладной математики . 183 (2): 275–287. дои : 10.1016/j.cam.2004.12.032 .
  14. ^ Дэниел, JW; Грэгг, Всемирный банк; Кауфман, Л.; Стюарт, GW (октябрь 1976 г.). «Реортогонализация и устойчивые алгоритмы обновления $QR$-факторизации Грама-Шмидта» . Математика вычислений . 30 (136): 772–772. дои : 10.1090/S0025-5718-1976-0431641-8 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cb257535dd3a151c3336d3b79c8eea15__1707276360
URL1:https://arc.ask3.ru/arc/aa/cb/15/cb257535dd3a151c3336d3b79c8eea15.html
Заголовок, (Title) документа по адресу, URL1:
Anderson acceleration - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)