Какова сложность конъюгатного градиента в худшем случае?


9

Позволять A∈Rn×n, симметричный и положительно определенный. Предположим, это займетm единицы работы, чтобы умножить вектор на A, Хорошо известно, что выполнение алгоритма CG наA с номером условия κ требует O(mκ), ед.

Теперь, конечно, будучи OУтверждение, что это верхняя граница. А алгоритм CG всегда может завершиться нулевым шагом с удачным начальным предположением.

Знаем ли мы, что существует RHS и первоначальное (неудачное) предположение, которое потребует Θ(κ)шаги? Другими словами, сложность работы CG в худшем случае действительноΘ(mκ)?

Этот вопрос возникает, когда я пытался определить, является ли преимущество предварительного кондиционера (ниже κ) перевесил его стоимость (выше m). Прямо сейчас я работаю с игрушечными проблемами и хотел бы иметь лучшую идею, прежде чем реализовывать что-либо на скомпилированном языке.


5
Вы могли бы предположительно построить пессимальное начальное предположение, запустив алгоритм CG «назад» и поместив подходящую энергию в каждый из A-ортогональный поиск направлений, что алгоритм требует всех шагов.
— origimbo

Ответы:


9

Ответ оглушительный да. Граница скорости сходимости(κ−1)/(κ+1) точен на множестве симметричных положительно определенных матриц с условным числом κ, Другими словами, ничего не зная оA чем номер условия, CG действительно может принять ∼κитерации, чтобы сходиться. Грубо говоря, верхняя граница достигается, если собственные значенияA равномерно распределены (то есть «поперчены») в пределах интервала номера условия κ,

Вот более строгое утверждение. Детерминированные версии более сложны, но работают по тем же принципам.

Теорема (Выбор в худшем случаеA). Выберите любую случайную ортогональную матрицуU, позволять λ1,…,λn быть n реальные числа, равномерно выбранные из реального интервала [1,κ], и разреши b=[b1;…;bn] быть nреальные цифры взяты из стандартного гауссова. определять

A=Udiag(λ1,…,λn)UT.
Тогда в пределе n→∞сопряженные градиенты будут сходиться с вероятностью один к ϵ точное решение Ax=b не менее чем Ω(κlog⁡ϵ−1) итераций.

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


1
Граница не является точной, как объясняется в ответе позже. Если собственные значения не распределены равномерно, cg сходится быстрее, поскольку это не стационарная итерация. Таким образом, нам нужно больше узнать о матрице.
— Гвидо Каншат

@GuidoKanschat: Хороший вопрос, и я исправил заявление, чтобы прояснить, что резкость достигается по всем A с условием κ,
— Ричард Чжан

Доказательство сводится к минимизации ‖p(A)‖в пространстве полиномов порядка удовлетворяющих условию . Эквивалентно это, В указанном пределе и решением минимаксной задачи является полином Чебышева, ошибка которого сходится кkp(0)=1minpmaxλ∈Λ(A)|p(λ)|Λ(A)→[1,κ]∼κ
— Ричард Чжан

0

Принимая это как мой первоначальный вопрос: знаем ли мы, что существует RHS и первоначальное (неудачное) предположение, для которого потребуются шаги?Θ(κ)

Ответ на вопрос «нет». Идея этого ответа исходит из комментария Гвидо Каншата.

Утверждение: для любого заданного номера условия существует матрица с тем номером условия, для которого алгоритм CG завершится не более чем за два шага (для любого заданного RHS и начального предположения).kA

Consider A∈Rn×n where A=diag(1,κ,κ,…,κ). Then the condition number of A is κ. Let b∈Rn be the RHS, and denote the eigenvalues of A as λi where

λi={1i=1κi≠1.

Сначала рассмотрим случай, когда , первоначальное предположение, равно нулю. Обозначим в качестве второй оценки из алгоритма CG. Мы показываем, что , показывая . Действительно, у нас естьx(0)∈Rnx(2)∈RnA−1bx(2)=A−1b⟨x(2)−A−1b,A(x(2)−A−1b)⟩=0

⟨x(2)−A−1b,A(x(2)−A−1b)⟩=‖x(2)−A−1b‖A2=minp∈poly1‖(p(A)−A−1)b‖A2=minp∈poly1∑i=1n(p(λi)−λi−1)2λibi2≤∑i=1n(p^(λi)−λi−1)2λibi2=0

Где мы используем многочлен первого порядка определенный как . Таким образом, мы доказали случай для .p^p^(x)=(1+κ−x)/κx(0)=0

Если , то где - это вторая оценка алгоритма CG с заменой на . Таким образом, мы сократили этот случай до предыдущего. x(0)≠0x(2)=x(2)¯+x(0)x(2)¯bb¯=b−Ax(0)


Насколько это верно для арифметики с конечной точностью?
— origimbo

@origimbo Если ваш вопрос был адресован мне, ответ: «Я не знаю».
— Фред
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.