Метод бисопряжённых градиентов
(
англ.
Biconjugate gradient method
,
BiCG
) — итерационный численный метод решения
СЛАУ
крыловского типа
. Является обобщением
метода сопряжённых градиентов
.
Постановка задачи
Пусть дана система линейных алгебраических уравнений вида:
A
x
=
b
{\displaystyle Ax=b}
. В отличие от МСГ на матрицу не накладывается условие самосопряжённости, то есть возможно, что
A
≠
A
∗
{\displaystyle A\neq A^{*}}
. Для действительной матрицы это означает, что матрица может быть несимметричной.
Алгоритм для действительных матриц
Подготовка перед итерационным процессом
Выберем начальное приближение
x
0
{\displaystyle x^{0}}
r
0
=
b
−
A
x
0
{\displaystyle r^{0}=b-Ax^{0}}
p
0
=
r
0
{\displaystyle p^{0}=r^{0}}
z
0
=
r
0
{\displaystyle z^{0}=r^{0}}
s
0
=
r
0
{\displaystyle s^{0}=r^{0}}
k
{\displaystyle k}
-я итерация метода
α
k
=
(
p
k
−
1
,
r
k
−
1
)
(
s
k
−
1
,
A
z
k
−
1
)
{\displaystyle \alpha _{k}={\frac {(p^{k-1},r^{k-1})}{(s^{k-1},Az^{k-1})}}}
x
k
=
x
k
−
1
+
α
k
z
k
−
1
{\displaystyle x^{k}=x^{k-1}+\alpha _{k}z^{k-1}}
r
k
=
r
k
−
1
−
α
k
A
z
k
−
1
{\displaystyle r^{k}=r^{k-1}-\alpha _{k}Az^{k-1}}
p
k
=
p
k
−
1
−
α
k
A
T
s
k
−
1
{\displaystyle p^{k}=p^{k-1}-\alpha _{k}A^{T}s^{k-1}}
β
k
=
(
p
k
,
r
k
)
(
p
k
−
1
,
r
k
−
1
)
{\displaystyle \beta _{k}={\frac {(p^{k},r^{k})}{(p^{k-1},r^{k-1})}}}
z
k
=
r
k
+
β
k
z
k
−
1
{\displaystyle z^{k}=r^{k}+\beta _{k}z^{k-1}}
s
k
=
p
k
+
β
k
s
k
−
1
{\displaystyle s^{k}=p^{k}+\beta _{k}s^{k-1}}
Критерий остановки итерационного процесса
Остановка может происходить по числу итераций, по невязке, по отличию приближений и так далее. Поскольку метод является неустойчивым, то при его использовании дополнительно следует ограничивать сверху число итераций.
Алгоритм для предобусловленной системы
Пусть дана
предобусловленная
система
M
−
1
A
P
−
1
x
=
M
−
1
b
{\displaystyle M^{-1}AP^{-1}x=M^{-1}b}
Подготовка перед итерационным процессом
Выберем начальное приближение
x
0
{\displaystyle x^{0}}
x
~
0
=
P
−
1
x
0
{\displaystyle {\widetilde {x}}^{0}=P^{-1}x^{0}}
r
0
=
M
−
1
(
b
−
A
x
~
0
)
{\displaystyle r^{0}=M^{-1}\left(b-A{\widetilde {x}}^{0}\right)}
p
0
=
r
0
{\displaystyle p^{0}=r^{0}}
z
0
=
r
0
{\displaystyle z^{0}=r^{0}}
s
0
=
r
0
{\displaystyle s^{0}=r^{0}}
k
{\displaystyle k}
-я итерация метода
α
k
=
(
p
k
−
1
,
r
k
−
1
)
(
s
k
−
1
,
M
−
1
A
P
−
1
z
k
−
1
)
{\displaystyle \alpha _{k}={\frac {(p^{k-1},r^{k-1})}{(s^{k-1},M^{-1}AP^{-1}z^{k-1})}}}
x
~
k
=
x
~
k
−
1
+
α
k
z
k
−
1
{\displaystyle {\widetilde {x}}^{k}={\widetilde {x}}^{k-1}+\alpha _{k}z^{k-1}}
r
k
=
r
k
−
1
−
α
k
M
−
1
A
P
−
1
z
k
−
1
{\displaystyle r^{k}=r^{k-1}-\alpha _{k}M^{-1}AP^{-1}z^{k-1}}
p
k
=
p
k
−
1
−
α
k
P
−
T
A
T
M
−
T
s
k
−
1
{\displaystyle p^{k}=p^{k-1}-\alpha _{k}P^{-T}A^{T}M^{-T}s^{k-1}}
β
k
=
(
p
k
,
r
k
)
(
p
k
−
1
,
r
k
−
1
)
{\displaystyle \beta _{k}={\frac {(p^{k},r^{k})}{(p^{k-1},r^{k-1})}}}
z
k
=
r
k
+
β
k
z
k
−
1
{\displaystyle z^{k}=r^{k}+\beta _{k}z^{k-1}}
s
k
=
p
k
+
β
k
s
k
−
1
{\displaystyle s^{k}=p^{k}+\beta _{k}s^{k-1}}
После итерационного процесса
x
∗
=
P
x
~
m
{\displaystyle x^{*}=P{\widetilde {x}}^{m}}
, где
x
∗
{\displaystyle x^{*}}
— приближенное решение системы,
x
~
m
{\displaystyle {\widetilde {x}}^{m}}
— решение предобусловленной системы на последней итерации.
Критерий остановки итерационного процесса
Остановка может происходить по числу итераций, по невязке, по отличию приближений и так далее. Поскольку метод является неустойчивым, то при его использовании дополнительно следует ограничивать сверху число итераций.
Особенности и модификации метода
BiCG является
неустойчивым
методом, поэтому для решения реальных задач его используют редко. Чаще используют его модификацию
—
стабилизированный метод бисопряжённых градиентов
.
Примечания
↑
Henk A. van der Vorst.
Iterative Krylov Methods for Large Linear System. — Cambridge University Press, 2003. — 221 с. —
ISBN 9780521818285
.
P
−
T
=
(
P
−
1
)
T
{\displaystyle P^{-T}=(P^{-1})^{T}}
T. Huttunen, M. Malinen, P. Monk.
Solving Maxwell’s Equations using Ultra Weak Variational Formulation
(англ.)
. — 2006.
Прямые методы
Итерационные методы
Общее