Алгоритм решения разреженной системы линейных алгебраических уравнений большой размерности с использованием метода сопряжённых градиентов
Автор: Стенин И.В., Шаманаев П.А.
Журнал: Огарёв-online @ogarev-online
Статья в выпуске: 13 т.5, 2017 года.
Бесплатный доступ
В статье описан алгоритм решения разреженных систем линейных алгебраических уравнений большой размерности специального вида с использованием метода сопряженных градиентов. Приведены результаты вычислительного эксперимента при различных значениях входных данных.
Метод сопряженных градиентов, разреженная матрица, система линейных алгебраических уравнений большой размерности
Короткий адрес: https://sciup.org/147249366
IDR: 147249366
Текст научной статьи Алгоритм решения разреженной системы линейных алгебраических уравнений большой размерности с использованием метода сопряжённых градиентов
При решении задач идентификации параметров динамических систем по экспериментальным данным [1–3] возникает необходимость решения разреженных систем линейных алгебраических уравнений большой размерности специального вида.
Рассмотрим систему линейных алгебраических уравнений следующего вида:
My = d,
где
M = (
H |
T T |
A T |
T |
0 |
0 |
■ A |
0 |
0 |
) -0 -® s, d e R2N+4, ^, d2 e R2, A, d, e R2(N-1),
O – нулевые матрицы соответствующих размеров,
H =
< B O1
B O,2
—I
N 2 N
B O
B O, N -1 B O, N
B 2, O |
B o,i = B Ti’O ’ B i ’ O = O 2 x 4 ’ |
в |
, i = V N , |
N -1, O |
|
B N ’O |
boo = O 4 . |
B OO > |
Iin — единичная ( 2 N x 2 N ) -матрица, O4 — нулевая ( 4 x 4 ) -матрица, O2Nx4 — нулевая ( 2 N x (2 N + 4) ) -матрица,
T - единичная ( 2 x 2 ) -матрица, T i ( 2 x 4 ) -матрица,
T = [ T 1 , T 2 ,..., T N , T o ] ,
( i = 2, N ) - нулевые ( 2 x 2 ) -матрицы, T O — нулевая
A =
( D
D 2
K 2
E 1
E 2
,
DN - 1
E
Di =
1+to
2 1
TO 2 3
TO 2 2
1 + TO 4
,
K =
-11 - TO
I 2 1
TO 2 3
2 O 2
4 - 2 O 4
, O k g R, k = 1,4,
E =
2( xi ,1 + xi + 1,1 )
2 ( x i ,2 + x i + 1,2 )
2 (xi,1 + xi+1,1) 2 ( xi,2 + xi+1,2 )
,
i = 1, N -1.
Компоненты вектора d вычисляются по формулам d =-H(z-z), d = h-Tz, d =-g(z), g (z) = column (g (z) ,..., gN-1 (z)) , gi (z) = Column (gi,1 (z) , gi,2 (z)) , i = 1 N -1 .
z = column ( xN, O) g R2 N+4, z = column ( xN, O4 ) g R2 N+4, H2 = -^ HT H 1, xN = column (x,...,xN)gR2N, x = column (xpx2)gR2, i = 1,N,
( T i gi,1 ( z ) = gi,1 ( XN ’ O) = I 1 + — O1 I xi,1
+ jO 2 x 2
-(i-Lg L + Lg x
I 2 ^1 I x i + 1,1 + 2 U2 x i + 1,2 ,
i = 1, N - 1,
T g i ,2 ( z> g i ,1 ( X N , O ) = — O 3 x i ,1
+ ( 1 + TO 4 J x i’2
+ ^0.x^ -I 1 - TO4 I xi+1,2,
i = 1, N - 1,
Для приближенного нахождения решения системы (1) использовался метод сопряженных градиентов. Приведем алгоритм метода сопряженных градиентов [4] для системы (1):
1. Выберем начальное приближение у(0). 2. г(0) := d — Му^0^, р(0) := г(0), j := 1. 3. Вычислим коэффициент aj := (г(\г(>))/(Мр(\р(>)). 4. Найдем следующее приближение у^1 := у(^ + ajp(j). 5. Вычислим поправку к решению г(j+1^ := г(j) — ajMp(j). 6. Найдем коэффициент Pj := (гУ+1\гУ+1'))/(ги\ги')') . 7. Если |г(j+1^| < е, то алгоритм завершается. 8. Вычислим вектор, вдоль которого вычисляется поправка р^1) := г(J+1') + fyp^. 9. j: = j+1. 10. Перейдем к пункту 3.
На основании приведенного алгоритма разработано программное обеспечение на языке C#. Структура программного обеспечения имеет вид
LargeMatrix

SystemResolver

Рис. 1. Структура программного обеспечения.
Опишем модули программного обеспечения.
LargeMatrix – библиотека, содержащая классы разреженной матрицы, плотного вектора и плотной матрицы, а также классов, отвечающих за построение системы уравнений заданного вида.
Tests – модульные тесты, покрывающие библиотеку LargeMatrix, а также метод решения СЛАУ.
SystemResolver – основной проект, содержащий алгоритм решения разреженной системы методом сопряженных градиентов.
WebClient – клиентское приложение, получающее и отображающее данные решения в браузере.
Для хранения разреженной матрицы использовался разреженный строчный формат (Compressed sparse row), который предполагает наличие трех одномерных массивов.
-
• Массив, содержащий все ненулевые элементы матрицы.
-
• Массив, содержащий номера столбцов для соответствующих элементов.
-
• Массив индексов элементов, с которых начинается описание строки.
Вычислительный эксперимент проводился при следующих начальных данных:
N = 10, 01 = -1, 02 = 1, 03= -0.5, 04 = 0.5, h = column(100,150).
Значения x. и x ; 2 ( i = 1, 10) приведены в таблице 1.
Таблица 1
Значения x jU x 2, i = 1, 10
i |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
x i ,1 |
110 |
190 |
200 |
333 |
355 |
383 |
400 |
415 |
420 |
445 |
x i ,2 |
151 |
163 |
175 |
204 |
222 |
244 |
266 |
333 |
355 |
380 |
Результаты вычислительного эксперимента при различных значениях погрешности вычислений £ и параметра Т приведены в таблице 2.
Таблица 2
Количество итераций и время вычислений при различных s и Т
Погрешность, ε |
т = 0.5 |
т = 0.1 |
т = 0.05 |
т = 0.01 |
0.1 |
32 0,003185 сек. |
27 0,003003 сек. |
25 0,002839 сек. |
24 0,003031 сек. |
0.01 |
33 0,003587 сек. |
27 0,003042 сек. |
25 0,003219 сек. |
24 0,003095 сек. |
0.001 |
33 0,004341 сек. |
30 0,003109 сек. |
30 0,003307 сек. |
24 0,003372 сек. |
Анализ таблицы 2 показывает, что при уменьшении параметра Т количество итераций, требуемых для достижения заданной точности ε , уменьшается, и, следовательно, скорость сходимости итерационного метода увеличивается. Вместе с тем, при фиксированном значении параметра Т и уменьшении погрешности вычислений s время вычислений и количество итераций увеличивается незначительно.
Список литературы Алгоритм решения разреженной системы линейных алгебраических уравнений большой размерности с использованием метода сопряжённых градиентов
- Атряхин В. А., Челышов М. С., Шаманаев П. А. Применение метода ортогональной циклической редукции для решения систем линейных алгебраических уравнений с матрицами специального вида //Огарев-online. Раздел "Физико-математические науки". -2014. -№ 19. -Режим доступа: http://journal.mrsu.ru/arts/primenenie-metoda-ortogonalnojj-ciklicheskojj-redukcii-dlya-resheniya-sistem-linejjnykh-algebraicheskikh-uravnenijj-s-matricami-specialnogo-vida. EDN: SMGDOV
- Челышов М. С., Шаманаев П. А. Идентификация параметров динамических систем на основе экспериментальных данных//Актуальные вопросы прикладной математики и информатики: сб. науч. тр. -Саранск: СВМО, 2015. -С. 39-42. EDN: OPUVES
- Zhengfeng Li, Michael R. Osborne, Tania Prvan Parameter estimation of ordinary differential equations//IMA Journal of Numerical Analysis. -2005. -No. 25. -pp. 264-285.
- Баландин М. Ю., Шурина Э. П. Методы решения СЛАУ большой размерности. -Новосибирск: НГТУ, 2000. -70 с. EDN: SJPUJX