Прекондиционер
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( февраль 2013 г. ) |
В математике численных предобусловливание — это применение преобразования, называемого предобусловливателем , которое приводит данную задачу в форму, более подходящую для методов решения. Предварительная обработка обычно связана с уменьшением числа обусловленности проблемы. Затем заранее обусловленная задача обычно решается итерационным методом .
Предварительная подготовка для линейных систем
[ редактировать ]В линейной алгебре и численном предобуславливатель анализе матрицы является матрицей такой, что имеет меньшее число обусловленности, чем . Также принято называть предобуславливатель, а не , с сам по себе редко доступен явно. В современном прекондиционировании применение , т.е. умножение вектора-столбца или блока векторов-столбцов на , обычно выполняется безматрицным способом , т. е. там, где ни , ни (и часто даже не ) явно доступны в матричной форме.
Предварительные условия полезны в итерационных методах решения линейной системы. для поскольку скорость сходимости для большинства итерационных линейных решателей увеличивается, поскольку число обусловленности матрицы уменьшается в результате предварительной обработки. Итеративные решатели с предварительным условием обычно превосходят прямые решатели, например, метод исключения Гаусса , для больших, особенно для разреженных , матриц. Итерационные решатели могут использоваться как безматричные методы , т.е. становятся единственным выбором, если матрица коэффициентов не сохраняется явно, но доступ к нему осуществляется путем вычисления матрично-векторных произведений.
Описание
[ редактировать ]Вместо решения исходной линейной системы для , можно рассмотреть правильную предобусловленную систему и решить для и для .
Альтернативно можно решить левую предобусловленную систему
Обе системы дают то же решение, что и исходная система, если матрица предобуславливателя является неособым . Левая предобуславливание более традиционна.
Двусторонняя система предварительной подготовки может быть полезно, например, для сохранения симметрии матрицы: если исходная матрица действительно симметричны и действительные предобуславливатели и удовлетворить тогда предварительно обусловленная матрица также симметричен. Двусторонняя предобусловливание обычно используется для диагонального масштабирования , где предобуславливатели и являются диагональными, и масштабирование применяется как к столбцам, так и к строкам исходной матрицы. , например, для уменьшения динамического диапазона элементов матрицы.
Целью предварительной обработки является уменьшение числа обусловленности , например, левой или правой предварительно подготовленной системной матрицы. или . Небольшие числа обусловленности способствуют быстрой сходимости итерационных решателей и улучшают стабильность решения по отношению к возмущениям в системной матрице и правой части, например, позволяя более агрессивно квантовать элементы матрицы с использованием более низкой компьютерной точности .
Предварительно подготовленная матрица или редко формируется явно. Только действие применения предобуславливателя решает операцию для данного вектора может потребоваться вычисление.
Обычно приходится идти на компромисс при выборе . Поскольку оператор должен применяться на каждом шаге итерационного линейного решателя, он должен иметь небольшую стоимость (время вычислений) применения операция. Таким образом, самым дешевым предобусловливателем будет с того времени Очевидно, что в результате получается исходная линейная система, а предобуславливатель ничего не делает. Другая крайность: выбор дает который имеет оптимальное число обусловленности 1, требующее одной итерации для сходимости; однако в этом случае и применить предобуславливатель так же сложно, как решить исходную систему. Поэтому человек выбирает как нечто среднее между этими двумя крайностями, в попытке добиться минимального количества линейных итераций, сохраняя при этом оператор как можно проще. Некоторые примеры типичных подходов к предварительной подготовке подробно описаны ниже.
Предварительно обусловленные итерационные методы
[ редактировать ]Предварительно обусловленные итерационные методы для в большинстве случаев математически эквивалентны стандартным итеративным методам, применяемым к предварительно обусловленной системе. Например, стандартная итерация Ричардсона для решения является
Применяется к предварительно подготовленной системе это превращается в заранее обусловленный метод
Примеры популярных итеративных методов с предобуславливанием для линейных систем включают метод сопряженных градиентов с предобуславливанием , метод двусопряженных градиентов и обобщенный метод минимальной невязки . Итерационные методы, использующие скалярные произведения для вычисления итерационных параметров, требуют соответствующих изменений в скалярном произведении вместе с заменой для
Расщепление матрицы
[ редактировать ]Стационарный итерационный метод определяется расщеплением матрицы и итерационная матрица . Предполагая, что
- системная матрица является симметричным положительно определенным ,
- матрица расщепления является симметричным положительно определенным ,
- стационарный итерационный метод сходится, что определяется соотношением ,
условия номер ограничено сверху
Геометрическая интерпретация
[ редактировать ]Для симметричной положительно определенной матрицы предобуславливатель обычно также выбирается симметричным положительно определенным. Предварительно обусловленный оператор тогда также симметрична положительно определена, но относительно -основанное скалярное произведение . В этом случае желаемый эффект от применения предобуславливателя состоит в том, чтобы сделать квадратичную форму предобуславливающего оператора в отношении -основанное скалярное произведение должно быть почти сферическим. [1]
Переменная и нелинейная предварительная обработка
[ редактировать ]Обозначая , отметим, что предобусловливание практически реализуется как умножение некоторого вектора к , т. е. вычисление произведения Во многих приложениях задается не как матрица, а как оператор действуя на вектор . Однако некоторые популярные предобуславливатели изменяются с и зависимость от может быть не линейным. Типичные примеры включают использование нелинейных итерационных методов , например, метода сопряженных градиентов , как часть конструкции предварительного обуславливателя. Такие предобуславливатели могут быть практически очень эффективными, однако их поведение трудно предсказать теоретически.
Случайная предварительная подготовка
[ редактировать ]Одним интересным частным случаем предварительной обработки переменных является случайная предварительная обработка, например, многосеточная предварительная обработка на случайных грубых сетках. [2] При использовании в методах градиентного спуска случайное предварительное обучение можно рассматривать как реализацию стохастического градиентного спуска и может привести к более быстрой сходимости по сравнению с фиксированным предобуславливанием, поскольку оно нарушает асимптотическую «зигзагообразную» структуру градиентного спуска .
Спектрально эквивалентная предобуславливание
[ редактировать ]Наиболее распространенное использование предварительной обусловленности - для итеративного решения линейных систем, возникающих в результате аппроксимации уравнений в частных производных . Чем лучше качество аппроксимации, тем больше размер матрицы. В таком случае цель оптимальной предобуславливания состоит, с одной стороны, в том, чтобы сделать спектральное число обусловленности равным быть ограничена сверху константой, не зависящей от размера матрицы, которую назвал спектрально эквивалентной предобусловливанием Дьяконов . С другой стороны, стоимость применения в идеале должно быть пропорционально (также независимо от размера матрицы) стоимости умножения по вектору.
Примеры
[ редактировать ]Предобуславливатель Якоби (или диагональный)
[ редактировать ]Предобусловливатель Якоби — это одна из простейших форм предобусловливания, в которой предобуславливатель выбирается в качестве диагонали матрицы. Предполагая , мы получаем Он эффективен для диагонально доминирующих матриц. . Он используется в программном обеспечении для анализа балочных задач или одномерных задач (EX:-STAAD.Pro ) .
СПАИ
[ редактировать ]Предварительная обработка Sparse Approximate Inverse минимизирует где – норма Фробениуса и принадлежит некоторому соответствующим образом ограниченному набору разреженных матриц . Согласно норме Фробениуса это сводится к решению множества независимых задач наименьших квадратов (по одной для каждого столбца). Записи в должно быть ограничено некоторым шаблоном разреженности, иначе проблема останется такой же сложной и трудоемкой, как и поиск точного обратного . Этот метод был предложен М. Дж. Гротом и Т. Хаклом вместе с подходом к выбору шаблонов разреженности. [3]
Другие прекондиционеры
[ редактировать ]- Неполная факторизация Холецкого
- Неполная LU-факторизация
- Последовательное чрезмерное расслабление
- Многосеточная предварительная подготовка
Внешние ссылки
[ редактировать ]- Предварительно обусловленный сопряженный градиент – math-linux.com
- Шаблоны для решения линейных систем: строительные блоки для итеративных методов
Предварительное условие для задач на собственные значения
[ редактировать ]Проблемы собственных значений можно сформулировать несколькими альтернативными способами, каждый из которых ведет к своей собственной предварительной обусловленности. Традиционное предварительное обусловливание основано на так называемых спектральных преобразованиях. Зная (приблизительно) целевое собственное значение, можно вычислить соответствующий собственный вектор, решив соответствующую однородную линейную систему, что позволяет использовать предобусловливание для линейной системы. Наконец, формулировка проблемы собственных значений как оптимизации коэффициента Рэлея выводит на сцену предварительно обусловленные методы оптимизации. [4]
Спектральные преобразования
[ редактировать ]По аналогии с линейными системами для собственных значений задачи может возникнуть соблазн заменить матрицу с матрицей использование прекондиционера . Однако это имеет смысл только в том случае, если ищущие собственные векторы и одинаковы. Это относится к спектральным преобразованиям.
Самым популярным спектральным преобразованием является так называемое преобразование сдвига и инвертирования , где для заданного скаляра , называемый сдвигом , исходная проблема собственных значений заменяется задачей сдвига и обращения . Собственные векторы сохраняются, и можно решить задачу сдвига и инвертирования с помощью итерационного решателя, например, степенной итерации . Это дает обратную итерацию , которая обычно сходится к собственному вектору, соответствующему собственному значению, ближайшему к сдвигу. . Итерация фактора Рэлея представляет собой метод сдвига и обращения с переменным сдвигом.
Спектральные преобразования специфичны для задач на собственные значения и не имеют аналогов для линейных систем. Они требуют точного численного расчета трансформации, что становится основным узким местом в крупных задачах.
Общая предварительная подготовка
[ редактировать ]Чтобы установить тесную связь с линейными системами, предположим, что заданное собственное значение известно (приблизительно). Тогда можно вычислить соответствующий собственный вектор из однородной линейной системы . Используя понятие левой предобуславливания для линейных систем, получаем , где — это предобуславливатель, который мы можем попытаться решить, используя итерацию Ричардсона
Идеальная предварительная подготовка [4]
[ редактировать ]Псевдообратная связь Мура – Пенроуза. является предобуславливателем, который заставляет итерацию Ричардсона, описанную выше, сходиться за один шаг с , с , обозначенный , — ортогональный проектор на собственное пространство, соответствующий . Выбор непрактично по трем независимым причинам. Первый, на самом деле неизвестно, хотя его можно заменить его аппроксимацией . Во-вторых, точная псевдообратная задача Мура–Пенроуза требует знания собственного вектора, который мы пытаемся найти. Этого можно несколько обойти, используя предобусловливатель Якоби-Дэвидсона. , где приближает . И последнее, но не менее важное: этот подход требует точного численного решения линейной системы с матрицей системы. , который для больших задач становится таким же дорогим, как и описанный выше метод сдвига и инвертирования. Если решение недостаточно точное, второй шаг может оказаться излишним.
Практическая предварительная подготовка
[ редактировать ]Сначала заменим теоретическое значение в итерации Ричардсона выше с ее текущим приближением получить практический алгоритм
Популярный выбор – используя фактора Рэлея функцию . Практическая предварительная обработка может быть столь же тривиальной, как простое использование или Для некоторых классов задач на собственные значения эффективность было продемонстрировано как численно, так и теоретически. Выбор позволяет легко использовать для решения задач на собственные значения огромное разнообразие предобусловливателей, разработанных для линейных систем.
В связи с изменением стоимости , комплексный теоретический анализ сходимости гораздо сложнее, по сравнению со случаем линейных систем, даже для самых простых методов, таких как итерация Ричардсона .
Внешние ссылки
[ редактировать ]Предварительная обработка в оптимизации
[ редактировать ]В оптимизации предобусловливание обычно используется для ускорения первого порядка оптимизации алгоритмов .
Описание
[ редактировать ]Например, чтобы найти локальный минимум действительной функции используя градиентный спуск , шаги пропорциональны отрицательному значению градиента . (или приближенного градиента) функции в текущей точке:
Предварительный кондиционер применяется к градиенту:
Предварительную обработку здесь можно рассматривать как изменение геометрии векторного пространства с целью придать наборам уровней вид кругов. [5] В этом случае предварительно обусловленный градиент стремится ближе к точке экстремумов, как на рисунке, что ускоряет сходимость.
Подключение к линейным системам
[ редактировать ]Минимум квадратичной функции где и являются действительными векторами-столбцами и — действительная симметричная положительно определенная матрица , является в точности решением линейного уравнения . С , предварительно обусловленный метод градиентного спуска для минимизации является
Это предварительная итерация Ричардсона для решения системы линейных уравнений .
Связь с задачами на собственные значения
[ редактировать ]Минимум коэффициента Рэлея где является действительным ненулевым вектором-столбцом и — действительная симметричная положительно определенная матрица , — наименьшее собственное значение , а минимизатор — соответствующий собственный вектор . С пропорционально , предварительно обусловленный метод градиентного спуска для минимизации является
Это аналог предварительно обусловленной итерации Ричардсона для решения задач на собственные значения.
Переменная предварительная подготовка
[ редактировать ]Во многих случаях может быть полезно изменить предобуславливатель на каком-то или даже на каждом шаге итерационного алгоритма , чтобы приспособиться к изменяющейся форме наборов уровней, как в
Однако следует иметь в виду, что построение эффективного предобуславливателя очень часто требует больших вычислительных затрат. Повышенная стоимость обновления предварительного обуславливателя может легко перечеркнуть положительный эффект более быстрой сходимости. Если , BFGS- аппроксимация обратной матрицы Гессе, этот метод называется методом квазиньютона .
Ссылки
[ редактировать ]- ^ Шевчук, Джонатан Ричард (4 августа 1994 г.). «Введение в метод сопряженных градиентов без мучительной боли» (PDF) .
- ^ Хенрикус Баумистер, Эндрю Догерти, Эндрю В. Князев. Несимметричное предварительное условие для методов сопряженного градиента и наискорейшего спуска. Procedia Computer Science, том 51, страницы 276–285, Elsevier, 2015. https://doi.org/10.1016/j.procs.2015.05.241
- ^ Гроте, М.Дж. и Хакл, Т. (1997). «Параллельная предварительная обработка с разреженными приближенными обратными». Журнал SIAM по научным вычислениям . 18 (3): 838–53. дои : 10.1137/S1064827594276552 .
- ^ Jump up to: а б Князев, Андрей Васильевич (1998). «Предварительно обусловленные собственные решатели — оксюморон?» . Электронные труды по численному анализу . 7 : 104–123.
- ^ Химмельблау, Дэвид М. (1972). Прикладное нелинейное программирование . Нью-Йорк: МакГроу Хилл. стр. 78–83. ISBN 0-07-028921-2 .
Источники
[ редактировать ]- Аксельссон, Оу (1996). Итерационные методы решения . Издательство Кембриджского университета. п. 6722. ИСБН 978-0-521-55569-2 .
- Дьяконов Е.Г. (1996). Оптимизация при решении эллиптических задач . ЦРК-Пресс. п. 592. ИСБН 978-0-8493-2872-5 .
- Саад, Юсеф и ван дер Ворст, Хенк (2001). «Итерационное решение линейных систем в ХХ веке». В Брезински, К. и Вуйтеке, Л. (ред.). Численный анализ: историческое развитие в 20 веке . Издательство Elsevier Science . §8 Методы предварительной подготовки, стр. 193–8. ISBN 0-444-50617-9 .
- ван дер Ворст, HA (2003). Итерационные методы Крылова для больших линейных систем . Издательство Кембриджского университета, Кембридж. ISBN 0-521-81828-1 .
- Чен, Кэ (2005). Методы и приложения матричной предварительной подготовки . Кембридж: Издательство Кембриджского университета. ISBN 978-0521838283 . OCLC 61410324 .