В математике, предварительное кондиционирование - это применение преобразования, называемого предусилитель, который преобразует данную проблему в форму, которая больше подходит для численных методов решения. Предварительная подготовка обычно связана с уменьшением номера условия проблемы. Задача с предварительным условием затем обычно решается с помощью итеративного метода.
В линейной алгебре и численном анализе, модуль предварительной обработкиматрицы является такой матрицей, что имеет меньшее число условия, чем . Также часто в качестве предобуславливателя называют , а не , поскольку сам редко доступен явно. В современном прекондиционировании применение , т. Е. Умножение вектора-столбца или блока векторов-столбцов на , обычно выполняется довольно сложными пакетами компьютерного программного обеспечения в безматричной форме, т. Е., где ни , ни (и часто не даже ) явно доступны в матричной форме.
Предобуславливатели полезны в итерационных методах для решения линейной системы для , поскольку скорость сходимости для большинства итеративных линейных решателей увеличивается, потому что номер условия матрицы уменьшается в результате предварительной обработки. Итерационные решатели с предварительным условием обычно превосходят прямые решатели, например, Гауссово исключение, для больших, особенно для разреженных, матриц. Итерационные решатели могут использоваться как безматричные методы, то есть стать единственным выбором, если матрица коэффициентов не сохраняется явно, но к ней обращается оценка матрично-векторных произведений.
Вместо решения исходной линейной системы, описанной выше, можно решить правильную предварительно обусловленную систему:
путем решения
для и
для .
В качестве альтернативы можно решить левую предварительно обусловленную систему:
Обе системы дают то же решение, что и исходная, при условии, что матрица предобуславливателя - это неособое число. Левое предварительное кондиционирование встречается чаще.
Цель этой предварительно обусловленной системы - уменьшить число условия левой или правой предварительно обусловленной системной матрицы или соответственно. Предварительно обусловленная матрица или почти никогда не формируется явно. Итеративными методами необходимо вычислить только действие по применению операции решения предобуславливателя к заданному вектору.
Обычно при выборе приходится идти на компромисс. Поскольку оператор должен применяться на каждом шаге итеративного линейного решателя, он должен иметь небольшие затраты (время вычислений) на применение операция. Таким образом, самым дешевым предобуславливателем будет с тех пор Очевидно, это приводит к исходной линейной системе, а предварительное кондиционирование ничего не делает. С другой стороны, выбор дает , который имеет оптимальное число условия, равное 1, что требует одной итерации для сходимости; однако в этом случае и применение предобуславливателя так же сложно, как и решение исходного система. Поэтому выбирают как нечто среднее между этими двумя крайностями, пытаясь достичь минимального количества линейных итераций, сохраняя при этом оператор как можно проще. Некоторые примеры типичных подходов к предварительному кондиционированию подробно описаны ниже.
Итерационные методы с предварительным условием для в большинстве случаев являются математическими эквивалент стандартных итерационных методов, применяемых к предварительно обусловленной системе Для Например, стандартная итерация Ричардсона для решения равна
Применяется к системе с предварительным условием он превращается в метод с предобуславливанием
Примеры популярных предобусловленных итерационных методов для линейных систем s включают в себя метод предварительно обусловленного сопряженного градиента, метод двусопряженного градиента и обобщенный метод минимальной невязки. Итерационные методы, которые используют скалярные произведения для вычисления итерационных параметров, требуют соответствующих изменений в скалярном произведении вместе с заменой для
Пусть линейный итерационный метод задается разделением матрицы и матрицей итераций .
Предположим, что следующая
Тогда сокращение числа состояния системы ограничивается сверху соотношением
Для симметричной положительно определенной матрицы предварительное кондиционирование обычно также выбирается симметричным положительно определенным. Предварительно обусловленный оператор тогда также является симметричным положительно определенным, но относительно на основе скалярное произведение. В этом случае желаемый эффект от применения предобуславливателя состоит в том, чтобы создать квадратичную форму предварительно обусловленного оператора относительно -based скалярного произведения, чтобы быть почти сферическим.
Обозначая , мы подчеркиваем, что предварительное кондиционирование практически реализуется как умножение некоторого вектора по , т. Е. Вычисляя произведение Во многих приложениях задается не как матрица, а как оператор действует на вектор . Однако некоторые популярные предобуславливатели изменяются с помощью , и зависимость от может быть нелинейной. Типичные примеры включают использование нелинейных итерационных методов, например, метода сопряженного градиента, как части конструкции предобуславливателя. Такие предварительные кондиционеры могут быть практически очень эффективными, однако их поведение трудно предсказать теоретически.
Чаще всего предварительное кондиционирование используется для итеративного решения линейных систем, возникающих в результате приближений уравнений в частных производных. Чем лучше качество аппроксимации, тем больше размер матрицы. В таком случае цель оптимального предварительного кондиционирования, с одной стороны, состоит в том, чтобы сделать спектральное число обусловленности равным ограниченный сверху константой, не зависящей от размера матрицы, что называется спектрально эквивалентным предварительным кондиционированием по Дьяконову. С другой стороны, затраты на применение в идеале должны быть пропорциональны (также независимо от размера матрицы) стоимости умножения из вектором.
Предобуславливатель Якоби - одна из простейших форм предварительной обработки, в которой предварительное кондиционирование выбирается - диагональ матрицы Предполагая , получаем Это эффективно для диагонально доминирующих матриц .
Преобразователь Sparse Approximate Inverse минимизирует где - норма Фробениуса и взяты из некоторого подходящим образом ограниченного набора разреженных матриц. В соответствии с нормой Фробениуса это сводится к решению множества независимых задач наименьших квадратов (по одной для каждого столбца). Записи в должны быть ограничены некоторым шаблоном разреженности, иначе проблема останется такой же сложной и трудоемкой, как нахождение точной инверсии . Метод был предложен MJ Grote и T. Huckle вместе с подходом к выбору паттернов разреженности.
Проблемы на собственные значения могут быть сформулированы несколькими альтернативными способами, каждый из которых приводит к собственной предварительной обработке. Традиционное предварительное кондиционирование основано на так называемых спектральных преобразованиях. Зная (приблизительно) целевое собственное значение, можно вычислить соответствующий собственный вектор, решив связанную однородную линейную систему, что позволяет использовать предварительное кондиционирование для линейной системы. Наконец, формулировка проблемы собственных значений как оптимизации коэффициента Рэлея привносит в сцену заранее подготовленные методы оптимизации.
По аналогии с линейными системами для собственное значение проблема может возникнуть соблазн заменить матрицу с матрицей с использованием предобуславливателя . Однако это имеет смысл только в том случае, если поиск собственных векторов из и такие же. Это случай спектральных преобразований.
Самым популярным спектральным преобразованием является так называемое преобразование сдвига и инвертирования, когда для заданного скаляра , называемого сдвигом, исходная задача на собственные значения заменяется задачей сдвига и инвертирования . Собственные векторы сохраняются, и можно решить проблему сдвига и инвертирования с помощью итеративного решателя, например, итерация мощности. Это дает обратную итерацию, которая обычно сходится к собственному вектору, соответствующему собственному значению, ближайшему к сдвигу . Итерация отношения Рэлея - это метод сдвига и инвертирования с переменным сдвигом.
Спектральные преобразования специфичны для задач на собственные значения и не имеют аналогов для линейных систем. Они требуют точного численного расчета задействованного преобразования, которое становится основным узким местом для больших проблем.
Чтобы установить тесную связь с линейными системами, предположим, что целевое собственное значение известно (приблизительно). Затем можно вычислить соответствующий собственный вектор из однородной линейной системы . Используя концепцию левого предобусловливания для линейных систем, получаем , где - это предобуславливатель, который мы можем попытаться решить, используя итерацию Ричардсона
Псевдообратная система Мура – Пенроуза - это устройство предварительной обработки, которое выполняет итерацию Ричардсона сходятся за один шаг с , поскольку , обозначается , ортогональный проектор на собственное подпространство, corr в соответствии с . Выбор непрактичен по трем независимым причинам. Во-первых, на самом деле неизвестно, хотя его можно заменить приближением . Во-вторых, точная псевдообратная матрица Мура – Пенроуза требует знания собственного вектора, который мы пытаемся найти. Это можно несколько обойти, используя , где приблизительно соответствует . И последнее, но не менее важное: этот подход требует точного численного решения линейной системы с системной матрицей , который становится таким же дорогим для больших проблем, как и описанный выше метод сдвига и инвертирования. Если решение недостаточно точное, второй шаг может быть лишним.
Давайте сначала заменим теоретическое значение в итерации Ричардсона выше с его текущим приближением для получения практического алгоритма
Популярный выбор: с использованием коэффициента Рэлея функция . Практическая предварительная подготовка может быть такой же тривиальной, как использование или Для некоторых классов задач на собственные значения эффективность был продемонстрирован как численно, так и теоретически. Выбор позволяет легко использовать для задач на собственные значения огромное количество предобуславливателей, разработанных для линейных систем.
Из-за изменяющегося значения всеобъемлющий теоретический анализ сходимости намного сложнее по сравнению со случаем линейных систем, даже для простейших методов, таких как итерация Ричардсона.
В оптимизации предварительное кондиционирование обычно используется для ускорения алгоритмов первого порядка оптимизации .
Например, чтобы найти a локальный минимум функции с действительным знаком с использованием градиентного спуска, предпринимаются шаги, пропорциональные отрицательному значению градиента (или приблизительный градиент) функции в текущей точке:
К градиенту применяется предварительное кондиционирование:
Предварительное кондиционирование здесь можно рассматривать как изменение геометрии векторного пространства с целью придать наборам уровней вид кругов. В этом случае предварительно обусловленный градиент приближается к точке экстремумов, как на рисунке, что ускоряет сходимость.
Минимум квадратичной функции
где и являются действительными векторами-столбцами, а - вещественная симметричная положительно-определенная матрица, в точности решение линейного уравнения . Поскольку , предварительно обусловленное градиентный спуск метод минимизации is
Это предварительно подготовленная итерация Ричардсона для решения системы линейных уравнений.
Минимум отношения Рэлея
где - вещественный ненулевой вектор-столбец, а - действительный симметричный положительный -определенная матрица, является наименьшим собственным значением из , а минимизатор - соответствующий собственный вектор. Поскольку пропорционально , предварительно подготовленный градиентный спуск метод минимизации равно
Это аналог предварительно обусловленной итерации Ричардсона для решения задач на собственные значения.
Во многих случаях может быть полезно изменить предварительное кондиционирование на некотором или даже на каждом шаге итерационного алгоритма, чтобы приспособиться к изменяющейся форме наборов уровней, как в
Нужно иметь Помните, однако, что создание эффективного предобуславливателя очень часто требует больших вычислительных затрат. Повышенная стоимость обновления предварительного кондиционера может легко преодолеть положительный эффект более быстрой сходимости.