Стабилизированный метод бисопряжённых градиентов
Стабилизированный метод бисопряжённых градиентов (англ. Biconjugate gradient stabilized method, BiCGStab) — итерационный метод решения СЛАУ крыловского типа. Разработан Ван дэр Ворстом (англ.) для решения систем с несимметричными матрицами. Сходится быстрее, чем обычный метод бисопряженных градиентов, который является неустойчивым[1], и поэтому применяется чаще[2].
Обозначения
Для комплексных СЛАУ, в методе используются два вида скалярных произведений, в случае действительных матрицы и правой части они совпадают.
- [math]\displaystyle{ (u, v) = \sum_{i=1}^n \overline{u}_i v_i }[/math]
- [math]\displaystyle{ [u, v] = \sum_{i=1}^n u_i v_i }[/math]
Алгоритм метода
Для решения СЛАУ вида [math]\displaystyle{ Ax = b }[/math], где [math]\displaystyle{ A }[/math] — комплексная матрица, стабилизированным методом бисопряжённых градиентов может использоваться следующий алгоритм[1][3]:
- Подготовка перед итерационным процессом
- Выберем начальное приближение [math]\displaystyle{ x^0 }[/math]
- [math]\displaystyle{ r^0 = b - Ax^0 }[/math]
- [math]\displaystyle{ \tilde{r} = r^0 }[/math]
- [math]\displaystyle{ \rho^0 = \alpha^0 = \omega^0 = 1 }[/math]
- [math]\displaystyle{ v^0 = p^0 = 0 }[/math]
- [math]\displaystyle{ k }[/math]-я итерация метода
- [math]\displaystyle{ \rho^k = (\tilde{r}, r^{k-1}) }[/math]
- [math]\displaystyle{ \beta^k = \frac{\rho^{k}}{\rho^{k-1}} \frac{\alpha^{k-1}}{\omega^{k-1}} }[/math]
- [math]\displaystyle{ p^k = r^{k-1} + \beta^k ( p^{k-1} - \omega^{k-1} v^{k-1} ) }[/math]
- [math]\displaystyle{ v^k = A p ^k }[/math]
- [math]\displaystyle{ \alpha^k = \frac{\rho^k}{(\tilde{r}, v^k)} }[/math]
- [math]\displaystyle{ s^k = r^{k-1} - \alpha^k v^k }[/math]
- [math]\displaystyle{ t^k = A s^k }[/math]
- [math]\displaystyle{ \omega^k = \frac{[t^k, s^k]} {[t^k, t^k]} }[/math]
- [math]\displaystyle{ x^k = x^{k-1} + \omega^k s^k + \alpha^k p^k }[/math]
- [math]\displaystyle{ r^k = s^k - \omega^k t^k }[/math]
- Критерий остановки итерационного процесса
Кроме традиционных критериев остановки, как число итераций ([math]\displaystyle{ k \le k_{max} }[/math]) и заданная невязка ([math]\displaystyle{ \||r^k|| / ||b|| \lt \varepsilon }[/math]), так же остановку метода можно производить, когда величина [math]\displaystyle{ |\omega^k| }[/math] стала меньше некоторого заранее заданного числа [math]\displaystyle{ \varepsilon_{\omega} }[/math].
См. также
Примечания
- ↑ 1,0 1,1 Henk A. van der Vorst. Iterative Krylov Methods for Large Linear System. — Cambridge University Press, 2003. — 221 с. — ISBN 9780521818285.
- ↑ T. Huttunen, M. Malinen, P. Monk. Solving Maxwell’s Equations using Ultra Weak Variational Formulation (англ.). — 2006.
- ↑ A. Formmer, V. Hannemann, B. Nokel, Th. Lippert, K. Schilling. Accelerating Wilson Fermion Matrix Invesion by Means of the Stibilized Biconjugate Cgadient Agorithm (англ.). — 1994.