Предобуславливатель

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

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

Содержание
  • 1 Предварительное кондиционирование для линейных систем
    • 1.1 Описание
    • 1.2 Итерационные методы с предварительным условием
      • 1.2.1 Линейное предварительное кондиционирование
    • 1.3 Геометрическая интерпретация
    • 1.4 Переменное и нелинейное предварительное кондиционирование
    • 1.5 Спектрально эквивалентное предварительное кондиционирование
    • 1.6 Примеры
      • 1.6.1 Предварительное кондиционирование Якоби (или диагональное)
      • 1.6.2 SPAI
      • 1.6.3 Другое предварительные кондиционеры
    • 1.7 Внешние ссылки
  • 2 Предварительное кондиционирование для задач на собственные значения
    • 2.1 Спектральные преобразования
    • 2.2 Общее предварительное кондиционирование
      • 2.2.1 Идеальное предварительное кондиционирование
      • 2.2.2 Практическое предварительное кондиционирование
    • 2.3 Внешние ссылки
  • 3 Предварительная подготовка в оптимизации
    • 3.1 Описание
    • 3.2 Связь с линейными системами
    • 3.3 Связь с проблемами собственных значений
    • 3.4 Предварительная подготовка переменных
  • 4 Ссылки
  • 5 Источники
Предварительная подготовка для линейных системы

В линейной алгебре и численном анализе, модуль предварительной обработкиP {\ displaystyle P}P матрицы A {\ displaystyle A}A является такой матрицей, что P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A имеет меньшее число условия, чем A {\ displaystyle A}A . Также часто в качестве предобуславливателя называют T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} , а не P {\ displaystyle P}P , поскольку сам P {\ displaystyle P}P редко доступен явно. В современном прекондиционировании применение T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} , т. Е. Умножение вектора-столбца или блока векторов-столбцов на T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} , обычно выполняется довольно сложными пакетами компьютерного программного обеспечения в безматричной форме, т. Е., где ни P {\ displaystyle P}P , ни T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} (и часто не даже A {\ displaystyle A}A ) явно доступны в матричной форме.

Предобуславливатели полезны в итерационных методах для решения линейной системы A x = b {\ displaystyle Ax = b}Ax = b для x {\ displaystyle x}x , поскольку скорость сходимости для большинства итеративных линейных решателей увеличивается, потому что номер условия матрицы уменьшается в результате предварительной обработки. Итерационные решатели с предварительным условием обычно превосходят прямые решатели, например, Гауссово исключение, для больших, особенно для разреженных, матриц. Итерационные решатели могут использоваться как безматричные методы, то есть стать единственным выбором, если матрица коэффициентов A {\ displaystyle A}A не сохраняется явно, но к ней обращается оценка матрично-векторных произведений.

Описание

Вместо решения исходной линейной системы, описанной выше, можно решить правильную предварительно обусловленную систему:

AP - 1 P x = b {\ displaystyle AP ^ {- 1} Px = b}AP ^ {{- 1}} Px = b

путем решения

AP - 1 y = b {\ displaystyle AP ^ {- 1} y = b}AP ^ {{- 1}} y = b

для y {\ displaystyle y}y и

P x = y {\ displaystyle Px = y}Px=y

для x {\ displaystyle x}x .

В качестве альтернативы можно решить левую предварительно обусловленную систему:

P - 1 (A x - б) = 0. {\ displaystyle P ^ {- 1} (Ax-b) = 0.}{\ displaystyle P ^ {- 1} (Ax-b) = 0.}

Обе системы дают то же решение, что и исходная, при условии, что матрица предобуславливателя P {\ displaystyle P }P - это неособое число. Левое предварительное кондиционирование встречается чаще.

Цель этой предварительно обусловленной системы - уменьшить число условия левой или правой предварительно обусловленной системной матрицы P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A или AP - 1, {\ displaystyle AP ^ {- 1},}AP ^ {{- 1}}, соответственно. Предварительно обусловленная матрица P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A или AP - 1 {\ displaystyle AP ^ {- 1}}AP ^ {{- 1}} почти никогда не формируется явно. Итеративными методами необходимо вычислить только действие по применению операции решения предобуславливателя P - 1 {\ displaystyle P ^ {- 1}}P^{{-1}}к заданному вектору.

Обычно при выборе P {\ displaystyle P}P приходится идти на компромисс. Поскольку оператор P - 1 {\ displaystyle P ^ {- 1}}P^{{-1}}должен применяться на каждом шаге итеративного линейного решателя, он должен иметь небольшие затраты (время вычислений) на применение P - 1 {\ displaystyle P ^ {- 1}}P^{{-1}}операция. Таким образом, самым дешевым предобуславливателем будет P = I {\ displaystyle P = I}P=Iс тех пор P - 1 = I. {\ displaystyle P ^ {- 1} = I.}P^{{-1}}=I.Очевидно, это приводит к исходной линейной системе, а предварительное кондиционирование ничего не делает. С другой стороны, выбор P = A {\ displaystyle P = A}P = A дает P - 1 A = AP - 1 = I, {\ displaystyle P ^ {- 1} A = AP ^ {- 1} = I,}P ^ {{- 1}} A = AP ^ {{- 1}} = I, , который имеет оптимальное число условия, равное 1, что требует одной итерации для сходимости; однако в этом случае P - 1 = A - 1, {\ displaystyle P ^ {- 1} = A ^ {- 1},}P ^ {{- 1}} = A ^ {{- 1}}, и применение предобуславливателя так же сложно, как и решение исходного система. Поэтому выбирают P {\ displaystyle P}P как нечто среднее между этими двумя крайностями, пытаясь достичь минимального количества линейных итераций, сохраняя при этом оператор P - 1 {\ displaystyle P ^ {- 1}}P^{{-1}}как можно проще. Некоторые примеры типичных подходов к предварительному кондиционированию подробно описаны ниже.

Итерационные методы с предварительным условием

Итерационные методы с предварительным условием для A x - b = 0 {\ displaystyle Ax-b = 0}Ax-b = 0 в большинстве случаев являются математическими эквивалент стандартных итерационных методов, применяемых к предварительно обусловленной системе P - 1 (A x - b) = 0. {\ displaystyle P ^ {- 1} (Ax-b) = 0.}P ^ {{- 1 }} (Ax-b) = 0. Для Например, стандартная итерация Ричардсона для решения A x - b = 0 {\ displaystyle Ax-b = 0}Ax-b = 0 равна

xn + 1 = xn - γ n (A xn - b), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} (A \ mathbf {x} _ {n} - \ mathbf {b}), \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} (A {\ mathbf {x}} _ {n} - {\ mathbf {b}}), \ n \ geq 0.

Применяется к системе с предварительным условием P - 1 (A x - b) = 0, {\ displaystyle P ^ {- 1} (Ax-b) = 0,}P ^ {{- 1}} (Ax -b) = 0, он превращается в метод с предобуславливанием

xn + 1 = xn - γ n P - 1 (A xn - b), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} P ^ {- 1} (A \ mathbf {x} _ {n} - \ mathbf {b}), \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} P ^ {{- 1}} (A {\ mathbf {x}} _ {n} - {\ mathbf {b}}), \ n \ geq 0.

Примеры популярных предобусловленных итерационных методов для линейных систем s включают в себя метод предварительно обусловленного сопряженного градиента, метод двусопряженного градиента и обобщенный метод минимальной невязки. Итерационные методы, которые используют скалярные произведения для вычисления итерационных параметров, требуют соответствующих изменений в скалярном произведении вместе с заменой P - 1 (A x - b) = 0 {\ displaystyle P ^ {- 1} (Ax-b) = 0}P ^ {{- 1}} (Ax-b) = 0 для A x - b = 0. {\ displaystyle Ax-b = 0.}Ax-b = 0.

Линейное предварительное кондиционирование

Пусть линейный итерационный метод задается разделением матрицы A = M - N {\ displaystyle A = MN}{\ displaystyle A = MN} и матрицей итераций C = I - M - 1 A {\ displaystyle C = IM ^ {- 1} A}{\ displaystyle C = IM ^ {-1} A} .

Предположим, что следующая

Тогда сокращение числа состояния системы κ (M - 1 A) {\ displaystyle \ kappa (M ^ {- 1} A)}{\ displaystyle \ kappa (M ^ {- 1} A)} ограничивается сверху соотношением

κ (M - 1 A) ≤ 1 + ρ (C) 1 - ρ (C). {\ displaystyle \ kappa (M ^ {- 1} A) \ leq {\ frac {1+ \ rho (C)} {1- \ rho (C)}} \,.}{\ displaystyle \ kappa (M ^ {- 1} A) \ leq {\ frac {1+ \ rho (C)} {1- \ rho (C)}} \,.}

Геометрическая интерпретация

Для симметричной положительно определенной матрицы A {\ displaystyle A}A предварительное кондиционирование P {\ displaystyle P}P обычно также выбирается симметричным положительно определенным. Предварительно обусловленный оператор P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A тогда также является симметричным положительно определенным, но относительно P {\ displaystyle P}P на основе скалярное произведение. В этом случае желаемый эффект от применения предобуславливателя состоит в том, чтобы создать квадратичную форму предварительно обусловленного оператора P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A относительно P {\ displaystyle P}P -based скалярного произведения, чтобы быть почти сферическим.

Переменное и нелинейное предварительное кондиционирование

Обозначая T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} , мы подчеркиваем, что предварительное кондиционирование практически реализуется как умножение некоторого вектора r {\ displaystyle r }rпо T {\ displaystyle T}T , т. Е. Вычисляя произведение T r. {\ displaystyle Tr.}Tr. Во многих приложениях T {\ displaystyle T}T задается не как матрица, а как оператор T (r) {\ displaystyle T (r)}T ( r) действует на вектор r {\ displaystyle r}r. Однако некоторые популярные предобуславливатели изменяются с помощью r {\ displaystyle r}r, и зависимость от r {\ displaystyle r}rможет быть нелинейной. Типичные примеры включают использование нелинейных итерационных методов, например, метода сопряженного градиента, как части конструкции предобуславливателя. Такие предварительные кондиционеры могут быть практически очень эффективными, однако их поведение трудно предсказать теоретически.

Спектрально эквивалентное предварительное кондиционирование

Чаще всего предварительное кондиционирование используется для итеративного решения линейных систем, возникающих в результате приближений уравнений в частных производных. Чем лучше качество аппроксимации, тем больше размер матрицы. В таком случае цель оптимального предварительного кондиционирования, с одной стороны, состоит в том, чтобы сделать спектральное число обусловленности P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A равным ограниченный сверху константой, не зависящей от размера матрицы, что называется спектрально эквивалентным предварительным кондиционированием по Дьяконову. С другой стороны, затраты на применение P - 1 {\ displaystyle P ^ {- 1}}P^{{-1}}в идеале должны быть пропорциональны (также независимо от размера матрицы) стоимости умножения из A {\ displaystyle A}A вектором.

Примеры

Предобуславливатель Якоби (или диагональный)

Предобуславливатель Якоби - одна из простейших форм предварительной обработки, в которой предварительное кондиционирование выбирается - диагональ матрицы P = diag (A). {\ displaystyle P = \ mathrm {diag} (A).}P = {\ mathrm {diag}} (A). Предполагая A ii ≠ 0, ∀ i {\ displaystyle A_ {ii} \ neq 0, \ forall i}A _ {{ii}} \ neq 0, \ forall i , получаем P ij - 1 = δ ij A ij. {\ displaystyle P_ {ij} ^ {- 1} = {\ frac {\ delta _ {ij}} {A_ {ij}}}.}P _ {{ij}} ^ {{- 1}} = {\ frac {\ delta _ {{ij}}} {A _ {{ij}}}}. Это эффективно для диагонально доминирующих матриц A {\ displaystyle A}A .

SPAI

Преобразователь Sparse Approximate Inverse минимизирует ‖ AT - I ‖ F, {\ displaystyle \ | AT- I \ | _ {F},}\ | AT-I \ | _ {F}, где ‖ ⋅ ‖ F {\ displaystyle \ | \ cdot \ | _ {F}}\ | \ cdot \ | _ {F} - норма Фробениуса и T = P - 1 {\ displaystyle T = P ^ {- 1}}T = P ^ {{- 1}} взяты из некоторого подходящим образом ограниченного набора разреженных матриц. В соответствии с нормой Фробениуса это сводится к решению множества независимых задач наименьших квадратов (по одной для каждого столбца). Записи в T {\ displaystyle T}T должны быть ограничены некоторым шаблоном разреженности, иначе проблема останется такой же сложной и трудоемкой, как нахождение точной инверсии A {\ displaystyle A}A . Метод был предложен MJ Grote и T. Huckle вместе с подходом к выбору паттернов разреженности.

Другие прекондиционеры

Внешние ссылки

Предварительная подготовка для задач на собственные значения

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

Спектральные преобразования

По аналогии с линейными системами для собственное значение проблема A x = λ x {\ displaystyle Ax = \ lambda x}Ax = \ lambda x может возникнуть соблазн заменить матрицу A {\ displaystyle A}A с матрицей P - 1 A {\ displaystyle P ^ {- 1} A}P ^ {{- 1}} A с использованием предобуславливателя P {\ displaystyle P}P . Однако это имеет смысл только в том случае, если поиск собственных векторов из A {\ displaystyle A}A и P - 1 A {\ displaystyle P ^ {- 1} A }P ^ {{- 1}} A такие же. Это случай спектральных преобразований.

Самым популярным спектральным преобразованием является так называемое преобразование сдвига и инвертирования, когда для заданного скаляра α {\ displaystyle \ alpha}\ alpha , называемого сдвигом, исходная задача на собственные значения A x = λ x {\ displaystyle Ax = \ lambda x}Ax = \ lambda x заменяется задачей сдвига и инвертирования (A - α I) - 1 x = μ х {\ displaystyle (A- \ alpha I) ^ {- 1} x = \ mu x}(A- \ alpha I) ^ {{- 1}} x = \ mu x . Собственные векторы сохраняются, и можно решить проблему сдвига и инвертирования с помощью итеративного решателя, например, итерация мощности. Это дает обратную итерацию, которая обычно сходится к собственному вектору, соответствующему собственному значению, ближайшему к сдвигу α {\ displaystyle \ alpha}\ alpha . Итерация отношения Рэлея - это метод сдвига и инвертирования с переменным сдвигом.

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

Общая предварительная подготовка

Чтобы установить тесную связь с линейными системами, предположим, что целевое собственное значение λ ⋆ {\ displaystyle \ lambda _ {\ star}}\ lambda _ {\ star} известно (приблизительно). Затем можно вычислить соответствующий собственный вектор из однородной линейной системы (A - λ ⋆ I) x = 0 {\ displaystyle (A- \ lambda _ {\ star} I) x = 0}(A- \ lambda _ {\ star} I) x = 0 . Используя концепцию левого предобусловливания для линейных систем, получаем T (A - λ ⋆ I) x = 0 {\ displaystyle T (A- \ lambda _ {\ star} I) x = 0}T (A- \ lambda _ {\ star} I) x = 0 , где T {\ displaystyle T}T - это предобуславливатель, который мы можем попытаться решить, используя итерацию Ричардсона

xn + 1 = xn - γ n T (A - λ ⋆ I)) xn, n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} T (A- \ lambda _ {\ star} I)) \ mathbf {x} _ {n}, \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = {\ mathbf {x}} _ { n} - \ gamma _ {n} T (A- \ lambda _ {\ star} I)) {\ mathbf {x}} _ {n}, \ n \ geq 0.

Идеальное предварительное кондиционирование

Псевдообратная система Мура – ​​Пенроуза T = (A - λ ⋆ I) + {\ displaystyle T = (A- \ lambda _ {\ star} I) ^ {+}}T = (A- \ lambda _ {\ star} I) ^ {+} - это устройство предварительной обработки, которое выполняет итерацию Ричардсона сходятся за один шаг с γ n = 1 {\ displaystyle \ gamma _ {n} = 1}\ gamma _ {n} = 1 , поскольку I - (A - λ ⋆ I) + ( A - λ ⋆ I) {\ displaystyle I- (A- \ lambda _ {\ star} I) ^ {+} (A- \ lambda _ {\ star} I)}I- (A - \ lambda _ {\ star} I) ^ {+} (A- \ lambda _ {\ star} I) , обозначается P ⋆ {\ displaystyle P _ {\ star}}P _ {\ звезда} , ортогональный проектор на собственное подпространство, corr в соответствии с λ ⋆ {\ displaystyle \ lambda _ {\ star}}\ lambda _ {\ star} . Выбор T = (A - λ ⋆ I) + {\ displaystyle T = (A- \ lambda _ {\ star} I) ^ {+}}T = (A- \ lambda _ {\ star} I) ^ {+} непрактичен по трем независимым причинам. Во-первых, λ ⋆ {\ displaystyle \ lambda _ {\ star}}\ lambda _ {\ star} на самом деле неизвестно, хотя его можно заменить приближением λ ~ ⋆ {\ displaystyle {\ tilde { \ lambda}} _ {\ star}}{\ tilde \ lambda} _ {\ star} . Во-вторых, точная псевдообратная матрица Мура – ​​Пенроуза требует знания собственного вектора, который мы пытаемся найти. Это можно несколько обойти, используя T = (I - P ~ ⋆) (A - λ ~ ⋆ I) - 1 (I - P ~ ⋆) {\ displaystyle T = (I - {\ tilde {P}} _ {\ star}) (A - {\ tilde {\ lambda}} _ {\ star} I) ^ {- 1} (I - {\ tilde {P}} _ {\ star})}T = (I - {\ tilde P} _ {\ star}) (A - {\ tilde \ lambda} _ {\ star} I) ^ {{- 1}} (I - {\ tilde P } _ {\ star}) , где P ~ ⋆ {\ displaystyle {\ tilde {P}} _ {\ star}}{\ tilde P} _ {\ star} приблизительно соответствует P ⋆ {\ displaystyle P _ {\ star} }P _ {\ звезда} . И последнее, но не менее важное: этот подход требует точного численного решения линейной системы с системной матрицей (A - λ ~ ⋆ I) {\ displaystyle (A - {\ tilde {\ lambda}} _ {\ star} I)}(A - {\ тильда \ лямбда} _ {\ звезда} I) , который становится таким же дорогим для больших проблем, как и описанный выше метод сдвига и инвертирования. Если решение недостаточно точное, второй шаг может быть лишним.

Практическая предварительная подготовка

Давайте сначала заменим теоретическое значение λ ⋆ {\ displaystyle \ lambda _ {\ star}}\ lambda _ {\ star} в итерации Ричардсона выше с его текущим приближением λ n {\ displaystyle \ lambda _ {n}}\ lambda _ {n} для получения практического алгоритма

xn + 1 = xn - γ n T (A - λ п I) xn, n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} T (A- \ lambda _ {n} I) \ mathbf {x} _ {n}, \ n \ geq 0.}{\ mathbf {x}} _ {{ n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} T (A- \ lambda _ {n} I) {\ mathbf {x}} _ {n}, \ n \ geq 0.

Популярный выбор: λ n = ρ (xn) {\ displaystyle \ lambda _ {n} = \ rho (x_ {n})}\ lambda _ {n} = \ rho (x_ { n}) с использованием коэффициента Рэлея функция ρ (⋅) {\ displaystyle \ rho (\ cdot)}\ rho (\ cdot) . Практическая предварительная подготовка может быть такой же тривиальной, как использование T = (diag (A)) - 1 {\ displaystyle T = (diag (A)) ^ {- 1}}T = (diag (A)) ^ {{ -1}} или T = (diag (A - λ n I)) - 1. {\ displaystyle T = (diag (A- \ lambda _ {n} I)) ^ {- 1}.}T = (diag (A- \ lambda _ {n} I)) ^ {{- 1}}. Для некоторых классов задач на собственные значения эффективность T ≈ A - 1 { \ displaystyle T \ приблизительно A ^ {- 1}}T \ приблизительно A ^ {{- 1 }} был продемонстрирован как численно, так и теоретически. Выбор T ≈ A - 1 {\ displaystyle T \ приблизительно A ^ {- 1}}T \ приблизительно A ^ {{- 1 }} позволяет легко использовать для задач на собственные значения огромное количество предобуславливателей, разработанных для линейных систем.

Из-за изменяющегося значения λ n {\ displaystyle \ lambda _ {n}}\ lambda _ {n} всеобъемлющий теоретический анализ сходимости намного сложнее по сравнению со случаем линейных систем, даже для простейших методов, таких как итерация Ричардсона.

Внешние ссылки

Предварительная подготовка в оптимизации
Иллюстрация градиентного спуска

В оптимизации предварительное кондиционирование обычно используется для ускорения алгоритмов первого порядка оптимизации .

Описание

Например, чтобы найти a локальный минимум функции с действительным знаком F (x) {\ displaystyle F (\ mathbf {x})}F (\ mathbf {x}) с использованием градиентного спуска, предпринимаются шаги, пропорциональные отрицательному значению градиента - ∇ F (a) {\ displaystyle - \ nabla F (\ mathbf {a})}- \ nabla F (\ mathbf {a}) (или приблизительный градиент) функции в текущей точке:

xn + 1 = xn - γ n ∇ F (xn), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} \ nabla F (\ mathbf {x} _ {n}), \ n \ geq 0.}\ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} \ nabla F (\ mathbf {x} _ {n}), \ n \ geq 0.

К градиенту применяется предварительное кондиционирование:

xn + 1 = xn - γ n P - 1 ∇ F (xn), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} P ^ {- 1} \ nabla F (\ mathbf {x} _ {n}), \ n \ geq 0.}{\ mathbf {x}} _ { {n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} P ^ {{- 1}} \ nabla F ({\ mathbf {x}} _ {n}), \ n \ geq 0.

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

Связь с линейными системами

Минимум квадратичной функции

F (x) = 1 2 x TA x - x T b {\ displaystyle F (\ mathbf {x}) = {\ frac {1} {2}} \ mathbf {x} ^ {T} A \ mathbf {x} - \ mathbf {x} ^ {T} \ mathbf {b}}F ({\ mathbf {x}}) = {\ frac { 1} {2}} {\ mathbf {x}} ^ {T} A {\ mathbf {x}} - {\ mathbf {x}} ^ {T} {\ mathbf {b}} ,

где x {\ displaystyle \ mathbf {x}}\ mathbf {x} и b {\ displaystyle \ mathbf {b}}\ mathbf {b} являются действительными векторами-столбцами, а A {\ displaystyle A}A - вещественная симметричная положительно-определенная матрица, в точности решение линейного уравнения A x = b {\ displaystyle A \ mathbf {x } = \ mathbf {b}}A \ mathbf {x} = \ mathbf {b} . Поскольку ∇ F (x) = A x - b {\ displaystyle \ nabla F (\ mathbf {x}) = A \ mathbf {x} - \ mathbf {b}}\ nabla F ({\ mathbf {x}}) = A {\ mathbf {x}} - {\ mathbf {b}} , предварительно обусловленное градиентный спуск метод минимизации F (x) {\ displaystyle F (\ mathbf {x})}F (\ mathbf {x}) is

xn + 1 = xn - γ n P - 1 (A xn - b), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} P ^ {- 1} ( A \ mathbf {x} _ {n} - \ mathbf {b}), \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} P ^ {{- 1}} (A {\ mathbf {x}} _ {n} - {\ mathbf {b}}), \ n \ geq 0.

Это предварительно подготовленная итерация Ричардсона для решения системы линейных уравнений.

Связь с проблемами собственных значений

Минимум отношения Рэлея

ρ (x) = x TA xx T x, {\ displaystyle \ rho (\ mathbf {x}) = { \ frac {\ mathbf {x} ^ {T} A \ mathbf {x}} {\ mathbf {x} ^ {T} \ mathbf {x}}},}\ rho ({\ mathbf {x}}) = {\ frac {{\ mathbf {x}} ^ {T} A {\ mathbf {x}}} {{\ mathbf {x}} ^ {T} {\ mathbf {x}}}},

где x {\ displaystyle \ mathbf {x}}\ mathbf {x} - вещественный ненулевой вектор-столбец, а A {\ displaystyle A}A - действительный симметричный положительный -определенная матрица, является наименьшим собственным значением из A {\ displaystyle A}A , а минимизатор - соответствующий собственный вектор. Поскольку ∇ ρ (x) {\ displaystyle \ nabla \ rho (\ mathbf {x})}\ nabla \ rho ({\ mathbf {x}}) пропорционально A x - ρ (x) x {\ displaystyle A \ mathbf {x} - \ rho (\ mathbf {x}) \ mathbf {x}}A {\ mathbf {x}} - \ rho ({\ mathbf {x}}) {\ mathbf {x}} , предварительно подготовленный градиентный спуск метод минимизации ρ (x) {\ displaystyle \ rho (\ mathbf {x})}\ rho ({\ mathbf {x}}) равно

xn + 1 = xn - γ n P - 1 (A xn - ρ (xn) xn), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf {x} _ {n} - \ gamma _ {n} P ^ {- 1} (A \ mathbf {x} _ {n} - \ rho (\ mathbf { x_ {n}}) \ mathbf {x_ {n}}), \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = {\ mathbf {x}} _ {n} - \ gamma _ {n} P ^ {{- 1 }} (A {\ mathbf {x}} _ {n} - \ rho ({\ mathbf {x_ {n}}}) {\ mathbf {x_ {n}}}), \ n \ geq 0.

Это аналог предварительно обусловленной итерации Ричардсона для решения задач на собственные значения.

Предварительное кондиционирование переменных

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

xn + 1 = xn - γ n P n - 1 ∇ F (xn), n ≥ 0. {\ displaystyle \ mathbf {x} _ {n + 1} = \ mathbf { x} _ {n} - \ gamma _ {n} P_ {n} ^ {- 1} \ nabla F (\ mathbf {x} _ {n}), \ n \ geq 0.}{\ mathbf {x}} _ {{n + 1}} = { \ mathbf {x}} _ {n} - \ gamma _ {n} P_ {n} ^ {{- 1}} \ nabla F ({\ mathbf {x}} _ {n}), \ n \ geq 0.

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

Ссылки
Источники
  • Axelsson, Owe (1996). Итерационные методы решения. Издательство Кембриджского университета. п. 6722. ISBN 978-0-521-55569-2.
  • Дьяконов Э.Г. (1996). Оптимизация при решении эллиптических задач. CRC-Press. п. 592. ISBN 978-0-8493-2872-5.
  • Саад, Юсеф и ван дер Ворст, Хенк (2001). «Итерационное решение линейных систем в ХХ веке». В Brezinski, C. Wuytack, L. (ред.). Численный анализ: исторические события в 20 веке. Издательство Elsevier Science. §8 Методы прекондиционирования, стр. 193–8. ISBN 0-444-50617-9.
  • ван дер Ворст, Х.А. (2003). Итерационные методы Крылова для больших линейных систем. Издательство Кембриджского университета, Кембридж. ISBN 0-521-81828-1.
Последняя правка сделана 2021-06-02 04:26:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте