В математике предобуславливание — это применение преобразования, называемого предобуславливателем , которое приводит данную задачу к форме, более подходящей для численных методов решения. Предобуславливание обычно связано с уменьшением числа условий задачи. Затем предобуславливаемая задача обычно решается итеративным методом .
В линейной алгебре и численном анализе предобуславливателем матрицы является матрица, имеющая меньшее число обусловленности , чем . Также принято называть предобуславливателем , а не , поскольку само по себе редко доступно явно. В современной предварительной обработке применение , т. е. умножение вектора - столбца или блока векторов-столбцов на , обычно выполняется безматричным способом , т. е. когда ни , ни (а часто даже и ) явно не доступны в матричной форме.
Предварительные решатели полезны в итерационных методах для решения линейной системы , поскольку скорость сходимости большинства итеративных линейных решателей увеличивается, поскольку число обусловленности матрицы уменьшается в результате предварительной подготовки. Предварительно обусловленные итерационные решатели обычно превосходят прямые решатели, например, исключение Гаусса , для больших, особенно для разреженных матриц. Итерационные решатели могут использоваться как методы без матриц , т. е. становятся единственным выбором, если матрица коэффициентов не хранится явно, а доступна путем оценки произведений матрицы и вектора.
Вместо решения исходной линейной системы для можно рассмотреть правильную предобусловленную систему и решить ее для и для .
В качестве альтернативы можно решить левую предобусловленную систему
Обе системы дают то же решение , что и исходная система, пока матрица предобуславливателя невырождена . Левое предобуславливание более традиционно.
Двусторонняя предобуславливающая система может быть полезной, например, для сохранения симметрии матрицы: если исходная матрица является действительной симметричной и действительные предобуславливатели и удовлетворяют , то предобуславливающая матрица также является симметричной. Двусторонняя предобуславливающая система является общей для диагонального масштабирования , где предобуславливатели и являются диагональными, а масштабирование применяется как к столбцам, так и к строкам исходной матрицы , например, для уменьшения динамического диапазона записей матрицы.
Целью предобусловливания является уменьшение числа условий , например, левой или правой предобусловленной системной матрицы или . Малые числа условий способствуют быстрой сходимости итеративных решателей и повышают устойчивость решения по отношению к возмущениям в системной матрице и правой части, например, позволяя выполнять более агрессивное квантование элементов матрицы с использованием меньшей компьютерной точности .
Предварительно обусловленная матрица или редко формируется явно. Может потребоваться вычислить только действие применения операции preconditioner resolve к заданному вектору.
Обычно существует компромисс при выборе . Поскольку оператор должен применяться на каждом шаге итеративного линейного решателя, он должен иметь небольшую стоимость (время вычислений) применения операции . Поэтому самым дешевым предобуславливателем будет , поскольку тогда Очевидно, что это приводит к исходной линейной системе, а предобуславливатель ничего не делает. С другой стороны, выбор дает , который имеет оптимальное число условий 1, требуя одной итерации для сходимости; однако в этом случае и применение предобуславливателя так же сложно, как решение исходной системы. Поэтому выбирают как где-то между этими двумя крайностями, пытаясь достичь минимального числа линейных итераций, сохраняя при этом оператор максимально простым. Некоторые примеры типичных подходов к предобуславливанию подробно описаны ниже.
Предварительно обусловленные итерационные методы в большинстве случаев математически эквивалентны стандартным итерационным методам, применяемым к предварительно обусловленной системе. Например, стандартная итерация Ричардсона для решения имеет вид
Применительно к предварительно обусловленной системе он превращается в предварительно обусловленный метод.
Примерами популярных предобусловленных итерационных методов для линейных систем являются предобусловленный метод сопряженных градиентов , метод бисопряженных градиентов и обобщенный метод минимальных остатков . Итерационные методы, которые используют скалярные произведения для вычисления итерационных параметров, требуют соответствующих изменений в скалярном произведении вместе с заменой на
Стационарный итерационный метод определяется расщеплением матрицы и матрицей итерации . Предполагая, что
число условий ограничено сверху
Для симметричной положительно определенной матрицы предобуславливатель обычно выбирается также симметричным положительно определенным. Предобуславливающий оператор тогда также симметричен положительно определенным, но относительно скалярного произведения на основе -. В этом случае желаемый эффект от применения предобуславливателя состоит в том, чтобы сделать квадратичную форму предобуславливающего оператора относительно скалярного произведения на основе - почти сферической. [1]
Обозначая , мы подчеркиваем, что предобуславливание практически реализуется как умножение некоторого вектора на , т. е. вычисление произведения Во многих приложениях задается не как матрица, а как оператор, действующий на вектор . Однако некоторые популярные предобуславливатели изменяются с , а зависимость от может быть нелинейной. Типичные примеры включают использование нелинейных итерационных методов , например, метода сопряженных градиентов , как части построения предобуславливателя. Такие предобуславливатели могут быть практически очень эффективными, однако их поведение трудно предсказать теоретически.
Одним из интересных частных случаев переменной предварительной подготовки является случайная предварительная подготовка, например, многосеточная предварительная подготовка на случайных грубых сетках. [2] При использовании в методах градиентного спуска случайную предварительную подготовку можно рассматривать как реализацию стохастического градиентного спуска , и она может привести к более быстрой сходимости по сравнению с фиксированной предварительной подготовкой, поскольку она нарушает асимптотический «зигзагообразный» шаблон градиентного спуска .
Наиболее распространенное применение предобуславливания — итеративное решение линейных систем, получаемых из аппроксимаций уравнений в частных производных . Чем лучше качество аппроксимации, тем больше размер матрицы. В таком случае целью оптимального предобуславливания является, с одной стороны, ограничение спектрального числа обусловленности сверху константой, не зависящей от размера матрицы, что Дьяконов называет спектрально эквивалентным предобуславливанием . С другой стороны, стоимость применения в идеале должна быть пропорциональна (также не зависящей от размера матрицы) стоимости умножения на вектор.
Предварительный обуславливатель Якоби является одной из простейших форм предварительной обработки, в которой предварительный обуславливатель выбирается как диагональ матрицы Предполагая , мы получаем Он эффективен для диагонально доминирующих матриц . Он используется в программном обеспечении для анализа балочных задач или одномерных задач (НАПРИМЕР:- STAAD.Pro )
Предварительный обуславливатель Sparse Approximate Inverse минимизирует , где — норма Фробениуса , а — из некоторого подходящим образом ограниченного набора разреженных матриц . При норме Фробениуса это сводится к решению многочисленных независимых задач наименьших квадратов (по одной для каждого столбца). Элементы в должны быть ограничены некоторым шаблоном разреженности, иначе задача останется такой же сложной и трудоемкой, как поиск точного обратного . Метод был введен М. Дж. Гротом и Т. Хаклом вместе с подходом к выбору шаблонов разреженности. [3]
Задачи на собственные значения могут быть сформулированы несколькими альтернативными способами, каждый из которых приводит к собственной предварительной подготовке. Традиционная предварительная подготовка основана на так называемых спектральных преобразованиях. Зная (приблизительно) целевое собственное значение, можно вычислить соответствующий собственный вектор, решив связанную однородную линейную систему, что позволяет использовать предварительную подготовку для линейной системы. Наконец, формулировка задачи на собственные значения как оптимизации отношения Рэлея выводит на сцену методы предварительной оптимизации. [4]
По аналогии с линейными системами, для задачи на собственные значения может возникнуть соблазн заменить матрицу на матрицу с использованием предобуславливателя . Однако это имеет смысл только в том случае, если искомые собственные векторы и одинаковы . Это касается спектральных преобразований.
Наиболее популярное спектральное преобразование — это так называемое преобразование сдвига и инвертирования , где для заданного скаляра , называемого сдвигом , исходная задача на собственные значения заменяется задачей сдвига и инвертирования . Собственные векторы сохраняются, и можно решить задачу сдвига и инвертирования с помощью итерационного решателя, например, степенной итерации . Это дает обратную итерацию , которая обычно сходится к собственному вектору, соответствующему собственному значению, ближайшему к сдвигу . Итерация отношения Рэлея — это метод сдвига и инвертирования с переменным сдвигом.
Спектральные преобразования специфичны для задач на собственные значения и не имеют аналогов для линейных систем. Они требуют точного численного расчета используемого преобразования, что становится основным узким местом для больших задач.
Чтобы установить тесную связь с линейными системами, предположим, что целевое собственное значение известно (приблизительно). Тогда можно вычислить соответствующий собственный вектор из однородной линейной системы . Используя концепцию левого предобуславливания для линейных систем, получаем , где — предобуславливатель, который можно попытаться решить с помощью итерации Ричардсона
Псевдообратная матрица Мура –Пенроуза является предобуславливателем, который заставляет итерацию Ричардсона выше сходиться за один шаг с , поскольку , обозначенный как , является ортогональным проектором на собственное пространство, соответствующим . Выбор нецелесообразен по трем независимым причинам. Во-первых, на самом деле неизвестно, хотя его можно заменить его приближением . Во-вторых, точная псевдообратная матрица Мура–Пенроуза требует знания собственного вектора, который мы пытаемся найти. Это можно несколько обойти, используя предобуславливатель Якоби–Дэвидсона , где приближает . Наконец, но не в последнюю очередь, этот подход требует точного численного решения линейной системы с системной матрицей , что становится таким же дорогим для больших задач, как и метод сдвига и инвертирования выше. Если решение недостаточно точное, шаг два может быть излишним.
Давайте сначала заменим теоретическое значение в итерации Ричардсона выше его текущим приближением, чтобы получить практический алгоритм.
Популярным выбором является использование функции отношения Рэлея . Практическая предобуславливание может быть столь же тривиальным, как простое использование или Для некоторых классов задач на собственные значения эффективность была продемонстрирована как численно, так и теоретически. Выбор позволяет легко использовать для задач на собственные значения огромное множество предобуславливателей, разработанных для линейных систем.
Из-за изменяющегося значения комплексный теоретический анализ сходимости гораздо сложнее, чем в случае линейных систем, даже для самых простых методов, таких как итерация Ричардсона .
В оптимизации предварительная подготовка обычно используется для ускорения алгоритмов оптимизации первого порядка .
Например, чтобы найти локальный минимум действительной функции с помощью градиентного спуска , нужно выполнить шаги, пропорциональные отрицательному значению градиента ( или приближенного градиента) функции в текущей точке:
К градиенту применяется предварительный обуславливатель:
Предварительную обусловленность здесь можно рассматривать как изменение геометрии векторного пространства с целью придания множествам уровня вида окружностей. [5] В этом случае предобусловленный градиент стремится ближе к точке экстремума, как на рисунке, что ускоряет сходимость.
Минимум квадратичной функции , где и являются действительными векторами-столбцами, а является действительной симметричной положительно определенной матрицей , является в точности решением линейного уравнения . Поскольку , предобусловленный метод градиентного спуска минимизации имеет вид
Это предобусловленная итерация Ричардсона для решения системы линейных уравнений .
Минимум отношения Рэлея , где — действительный ненулевой вектор-столбец, а — действительная симметричная положительно определенная матрица , — наименьшее собственное значение , тогда как минимизатор — соответствующий собственный вектор . Поскольку пропорционально , предобусловленный метод градиентного спуска минимизации — это
Это аналог предобусловленной итерации Ричардсона для решения задач на собственные значения.
Во многих случаях может быть полезно изменить предобуславливатель на каком-то или даже на каждом шаге итеративного алгоритма , чтобы приспособиться к изменяющейся форме множеств уровня, как в
Однако следует иметь в виду, что построение эффективного предобуславливателя очень часто является вычислительно затратным. Увеличение стоимости обновления предобуславливателя может легко перекрыть положительный эффект более быстрой сходимости. Если , BFGS -приближение обратной матрицы Гессе, этот метод называется квазиньютоновским методом .