Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебное пособие_методы решения СЛАУ.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
799.74 Кб
Скачать

2.4.4 Метод квази-минимальных невязок

Разработка еще одного итерационного метода была направлена на устранение, упомянутой в 2.4.3, проблемы метода BiCG, а именно нестабильной сходимости. Таким методом являлся метод квази-минимальных невязок (QMR).

Далее приведен алгоритм метода QMR.

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

Если необходимо построить матрицу предобусловливателя M

Выбрать начальное приближение x(0)

r(0) = bA x(0)

= r(0)

Найти y из системы M1 y =

1 = ||y||2

z =

= ||z||2

0 = 1; 0 = – 1

Для i = 1, 2, … до сходимости или до Nitmax

Еслиi = 0 или i = 0

то метод не может решить данную систему

v(i) = / i; y = y / i

(i) = /i; z = z / i

i = (z, y)

Еслиi = 0

то метод не может решить данную систему

Найти из системы M2 = y

Найти из системы = z

Если i = 1

p(1) = ; q(1) =

Иначе

p(i) = – (ii / i 1) p(i–1)

q(i) = – (ii / i –1) q(i–1)

= A p(i)

i = (q(i), )

Еслиi = 0

то метод не может решить данную систему

i =i / i

Еслиi = 0

то метод не может решить данную систему

= – i

Найти y из системы M1y =

i+1 = ||y||2

= ATq(i) – i

Найти z из системы z =

i+1 = ||z||2

i = i+1 / (i |i|)

= 1 /

Если = 0

то метод не может решить данную систему

= /

Если i = 1

d(1) = p(1); s(1) =

Иначе

= p(i) +

=

x(i) =x(i–1) + d(i)

r(i) = r(i–1)s(i)

Если ||r||2 / ||r(0)||2tol

то КОНЕЦ (x(i)полученное решение)

увеличить i

Метод характеризуется зачастую более гладкой сходимостью.

Параметры метода совпадают с параметрами методов BiCG и BiCGStab.

Пример использования метода QMR в системе TALGAT:

- действительный случай: SET "solve" QMR_r real_m right_r 0. 1.e-8 150 20 5.e-4;

- комплексный случай: SET "solve" QMR complex_m right_c 0. 1.e-8 150 20 5.e-4.

2.2.5 Квадратичный метод сопряженных градиентов

Еще одним итерационным методом решения СЛАУ с несимметричными матрицами является квадратичный метод сопряженных градиентов (CGS). Данный метод строится, используя соотношение rm=pm(AT) (0). Часто данный метод характеризуется повышением скорости решения в два раза по сравнению с методом BiCG.

Далее приведен алгоритм метода CGS.

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

Если необходимо построить матрицу предобусловливателя M

Выбрать начальное приближение x(0)

r(0) = bA x(0)

Выбрать вектор , удовлетворяющий условию (r(0), )  0 (например, = r(0))

Для i = 1, 2, … до сходимости или до Nitmax

i1 = ( , r(i – 1))

Еслиi1 = 0

то метод не может решить данную систему

Если i = 1

u(1) = r(0)

p(1) = u(1)

Иначе

i–1 = (i–1 / i–2)

u(i) = r(i–1) + i–1q(i–1)

p(i) = u(i) + i–1(q(i–1) + i–1p(i–1))

Найти из системы M = p(i)

= A

i = i–1 / ( , )

q(i) = u(i) – i

Найти из системы M = u(i) + q(i)

x(i) =x(i – 1) +i

= A

r(i) = r(i – 1) – i

Если ||r||2 / ||r(0)||2tol

то КОНЕЦ (x(i)полученное решение)

увеличить i

Параметры метода совпадают с параметрами методов BiCG, BiCGStab и QMR.

Пример использования метода CGS в системе TALGAT:

- действительный случай: SET "solve" CGS_r real_m right_r 0.5 1.e-8 100 20 5.e-4;

- комплексный случай: SET "solve" CGS complex_m right_c 0.5 1.e-8 100 20 5.e-4.