Метод бисопряжённых градиентов

Материал из testwiki
Перейти к навигации Перейти к поиску

Метод бисопряжённых градиентов (Шаблон:Lang-en, BiCG) — итерационный численный метод решения СЛАУ крыловского типа. Является обобщением метода сопряжённых градиентов.

Постановка задачи

Пусть дана система линейных алгебраических уравнений вида: Ax=b. В отличие от МСГ на матрицу не накладывается условие самосопряжённости, то есть возможно, что AA*. Для действительной матрицы это означает, что матрица может быть несимметричной.

Алгоритм для действительных матриц

Подготовка перед итерационным процессом
  1. Выберем начальное приближение x0
  2. r0=bAx0
  3. p0=r0
  4. z0=r0
  5. s0=r0
k-я итерация метода[1]
  1. αk=(pk1,rk1)(sk1,Azk1)
  2. xk=xk1+αkzk1
  3. rk=rk1αkAzk1
  4. pk=pk1αkATsk1
  5. βk=(pk,rk)(pk1,rk1)
  6. zk=rk+βkzk1
  7. sk=pk+βksk1
Критерий остановки итерационного процесса

Остановка может происходить по числу итераций, по невязке, по отличию приближений и так далее. Поскольку метод является неустойчивым, то при его использовании дополнительно следует ограничивать сверху число итераций.

Алгоритм для предобусловленной системы

Пусть дана предобусловленная система M1AP1x=M1b

Подготовка перед итерационным процессом
  1. Выберем начальное приближение x0
  2. x~0=P1x0
  3. r0=M1(bAx~0)
  4. p0=r0
  5. z0=r0
  6. s0=r0
k-я итерация метода
  1. αk=(pk1,rk1)(sk1,M1AP1zk1)
  2. x~k=x~k1+αkzk1
  3. rk=rk1αkM1AP1zk1
  4. pk=pk1αkPTATMTsk1[2]
  5. βk=(pk,rk)(pk1,rk1)
  6. zk=rk+βkzk1
  7. sk=pk+βksk1
После итерационного процесса
  1. x*=Px~m, где x* — приближенное решение системы, x~m — решение предобусловленной системы на последней итерации.
Критерий остановки итерационного процесса

Остановка может происходить по числу итераций, по невязке, по отличию приближений и так далее. Поскольку метод является неустойчивым, то при его использовании дополнительно следует ограничивать сверху число итераций.

Особенности и модификации метода

BiCG является неустойчивым[1] методом, поэтому для решения реальных задач его используют редко. Чаще используют его модификацию[3] — стабилизированный метод бисопряжённых градиентов.

Примечания

Шаблон:Примечания

Шаблон:Методы решения СЛАУ