Стабилизированный метод бисопряжённых градиентов

Стабилизированный метод бисопряжённых градиентов (англ. Biconjugate gradient stabilized method, BiCGStab) — итерационный метод решения СЛАУ крыловского типа. Разработан Ван дэр Ворстом (англ.) для решения систем с несимметричными матрицами. Сходится быстрее, чем обычный метод бисопряженных градиентов, который является неустойчивым[1], и поэтому применяется чаще[2].

Содержание

Обозначения

Для комплексных СЛАУ, в методе используются два вида скалярных произведений, в случае действительных матрицы и правой части они совпадают.

  • (u,v)=∑i=1nu¯ivi{displaystyle (u,v)=sum _{i=1}^{n}{overline {u}}_{i}v_{i}} 
  • [u,v]=∑i=1nuivi{displaystyle [u,v]=sum _{i=1}^{n}u_{i}v_{i}} 

Алгоритм метода

Для решения СЛАУ вида Ax=b{displaystyle Ax=b}

 , где A{displaystyle A}  — комплексная матрица, стабилизированным методом бисопряжённых градиентов может использоваться следующий алгоритм[1][3]:

Подготовка перед итерационным процессом
  1. Выберем начальное приближение x0{displaystyle x^{0}} 
  2. r0=b−Ax0{displaystyle r^{0}=b-Ax^{0}} 
  3. r~=r0{displaystyle {tilde {r}}=r^{0}} 
  4. ρ0=α0=ω0=1{displaystyle rho ^{0}=alpha ^{0}=omega ^{0}=1} 
  5. v0=p0=0{displaystyle v^{0}=p^{0}=0} 
k{displaystyle k} -я итерация метода
  1. ρk=(r~,rk−1){displaystyle rho ^{k}=({tilde {r}},r^{k-1})} 
  2. βk=ρkρk−1αk−1ωk−1{displaystyle beta ^{k}={frac {rho ^{k}}{rho ^{k-1}}}{frac {alpha ^{k-1}}{omega ^{k-1}}}} 
  3. pk=rk−1+βk(pk−1−ωk−1vk−1){displaystyle p^{k}=r^{k-1}+beta ^{k}(p^{k-1}-omega ^{k-1}v^{k-1})} 
  4. vk=Apk{displaystyle v^{k}=Ap^{k}} 
  5. αk=ρk(r~,vk){displaystyle alpha ^{k}={frac {rho ^{k}}{({tilde {r}},v^{k})}}} 
  6. sk=rk−1−αkvk{displaystyle s^{k}=r^{k-1}-alpha ^{k}v^{k}} 
  7. tk=Ask{displaystyle t^{k}=As^{k}} 
  8. ωk=[tk,sk][tk,tk]{displaystyle omega ^{k}={frac {[t^{k},s^{k}]}{[t^{k},t^{k}]}}} 
  9. xk=xk−1+ωksk+αkpk{displaystyle x^{k}=x^{k-1}+omega ^{k}s^{k}+alpha ^{k}p^{k}} 
  10. rk=sk−ωktk{displaystyle r^{k}=s^{k}-omega ^{k}t^{k}} 
Критерий остановки итерационного процесса

Кроме традиционных критериев остановки, как число итераций (k≤kmax{displaystyle kleq k_{max}}

 ) и заданная невязка (‖|rk||/||b||<ε{displaystyle ||r^{k}||/||b||<varepsilon } ), так же остановку метода можно производить, когда величина |ωk|{displaystyle |omega ^{k}|}  стала меньше некоторого заранее заданного числа εω{displaystyle varepsilon _{omega }} .

См. также

Примечания

  1. 1 2 Henk A. van der Vorst. Iterative Krylov Methods for Large Linear System. — Cambridge University Press, 2003. — 221 с. — ISBN 9780521818285.
  2. T. Huttunen, M. Malinen, P. Monk. Solving Maxwell’s Equations using Ultra Weak Variational Formulation (англ.). — 2006.
  3. A. Formmer, V. Hannemann, B. Nokel, Th. Lippert, K. Schilling. Accelerating Wilson Fermion Matrix Invesion by Means of the Stibilized Biconjugate Cgadient Agorithm (англ.). — 1994.