Я подозреваю, что вообще нет большой разницы между GMRES и CG для матрицы SPD.
Скажем , мы решаем х = Ь с А симметричным положительно определенным и исходным предположением х 0 = 0 и порождающей итерацией с CG и GMRES, назовем их х с к и х г к . Оба итерационных метода будут строитьA x = bAИкс0= 0ИкссКИксграммК из одного и того же пространства Крылова K k = { b , A b , A 2 b , … } . Они будут делать это по-разному.ИксККК= { b , A b , A2б , … }
CG характеризуется минимизацией ошибки в энергетической норме, индуцированной A , так что
( A e c k , e c k ) = ( A ( x - x c k ) , x - x c k ) = min y ∈ K ( A ( x - y ) , x -есК= х - хсКA
( А есК, есК) = ( А ( х - хсК) , х - хсК) = минY∈ K( А ( х - у) , х - у) .
GMRES минимизирует вместо этого невязку и делает это в дискретной норме ℓ 2 , так что
( r k , r k ) = ( b - A x g k , b - A x g kрК= Б - хграммКℓ2
( гК, гК) = ( б - А хграммК, Б - хграммК) = минY∈ K( б - А у,b−Ay) .
Теперь, используя уравнение ошибки
мы также можем записать GMRES как минимизирующее
( r k , r k ) = ( A e g k , A e g k ) = ( A 2 e g k , e g k ),
где Я хочу подчеркнуть , что это справедливо только для СПД матрицы
A . Тогда мы имеем CG минимизировать ошибку относительно
AА еК= гК( гК, гК) = ( A eграммК, А еграммК) = ( A2еграммК, еграммК)
AAнорма и GMRES минимизируют ошибку по отношению к норме
. Если мы хотим, чтобы они вели себя по-разному, интуитивно нам понадобился бы такой
А , чтобы эти две нормы были очень разными. Но для SPD
А эти нормы будут вести себя совершенно аналогично.
A2AA
Чтобы быть еще более конкретным, на первой итерации с пространством Крылова и CG, и GMRES построят приближение вида x 1 = α b . CG выберет
α = ( b , b )К1= { b }Икс1= α b
α = ( б , б )( А б , б )
α = ( A b , b )( А2б , б ),
A( ϵ , 1 , 1 , 1 , … )б = ( 1 , 1 , 0 , 0 , 0 , … )ε ; → 0Aб так что этот коэффициент двух различий сохраняется на протяжении всей итерации, но я сомневаюсь, что он станет еще хуже.