В общем, все методы Крылова, по сути, ищут многочлен, который мал при оценке по спектру матрицы. В частности, й остаток метода Крылова (с нулевым начальным предположением) можно записать в видеN
рN= PN( А ) б
где - некоторый монический многочлен степени . нпNN
Если диагонализуем, с , мы имеемA = V Λ V - 1AA = VΛ V- 1
∥ гN∥≤знак равно∥ V∥ ⋅ ∥ PN( Λ ) ∥ ⋅ ∥ V- 1∥ ⋅ ∥ b ∥κ ( V) ⋅ ∥ PN( Λ ) ∥ ⋅ ∥ b ∥ .
В том случае, если нормально (например, симметричный или унитарный) мы знаем , что GMRes конструктов такой многочлена через Арнольди итерацию, в то время как CG строит многочлен с использованием другого внутреннего продукта (см этого ответа для подробностей ). Точно так же BiCG строит свой полином через несимметричный процесс Ланцоша, в то время как чебышевская итерация использует предварительную информацию о спектре (обычно оценки наибольшего и наименьшего собственных значений для симметричных определенных матриц).κ ( V ) = 1.Aκ ( V) = 1.
В качестве классного примера (мотивированного Trefethen + Bau) рассмотрим матрицу, спектр которой таков:
В MATLAB я построил это с помощью:
A = rand(200,200);
[Q R] = qr(A);
A = (1/2)*Q + eye(200,200);
Если мы рассмотрим GMRES, который строит многочлены, которые фактически минимизируют остаток по всем моническим многочленам степени , мы можем легко предсказать историю остатков, посмотрев на многочлен-кандидатN
пN( з) = ( 1 - z)N
который в нашем случае дает
| пN( з) | = 12N
для в спектре .AZA
Теперь, если мы запустим GMRES на случайной RHS и сравним остаточную историю с этим полиномом, они должны быть очень похожими (возможные значения полинома меньше, чем остаточный GMRES, потому что ):∥ б ∥2> 1