Вычислительные методы линейной алгебры. Горбаченко В.И - 27 стр.

UptoLike

27
ром перестановок p , формируемым функцией упорядочения матрицы. В
случае симметричных матриц
T
R
OW COL
=SS и
T
COL ROW
=SS. Вместо исходной
СЛАУ
=Ax b решается преобразованная система
1ROW COL ROW
=SASxSb
. Пе-
рестановка строк матрицы требует перестановки элементов вектора правой
части
ROW
Sb
. Причем, в MATLAB вектор правой части можно просто пере-
упорядочить с помощью вектора перестановок:
b(p). Легко показать, что
решение
любым способом преобразованной системы равно
1
1
COL
=xSx, откуда
получаем решение исходной системы
1COL
=
xS x. Из рассмотренного видно,
что для преобразований необходимы вектор перестановок и матрица пере-
становок столбцов.
Рассмотрим пример. Решим систему с матрицей предыдущего примера
>> A=[4 1 0 0 1 0
1 4 1 0 0 0
0 1 4 0 0 0
0 0 0 4 0 1
1 0 0 0 4 1
0 0 0 1 1 4];
и вектором правой части
>> b=[1 2 3 4 5 6]';
Вектор перестановок p1 и множитель Холецкого R2 упорядоченной матри-
цы уже получены в предыдущем примере. Создадим разреженную единич-
ную матрицу и матрицу перестановок столбцов
>> E=speye(6);
>> S_COL=E(:,p1);
Далее по описанному алгоритму находим решение СЛАУ
>> y2=R2'\b(p1);
>> z2=R2\y2;
>> x2=S_COL*z2
x2 =
-0.0910
0.3576
0.6606
0.7338
1.0065
1.0649
Для проверки находим решение с помощью решателя. Напомним, что реша-
тель автоматически использует упорядочение для разреженных матриц
ром перестановок p , формируемым функцией упорядочения матрицы. В

случае симметричных матриц S ROW = SCOL
                                    T
                                        и SCOL = S TROW . Вместо исходной
СЛАУ Ax = b решается преобразованная система S ROW ASCOL x1 = S ROW b . Пе-
рестановка строк матрицы требует перестановки элементов вектора правой
части S ROW b . Причем, в MATLAB вектор правой части можно просто пере-
упорядочить с помощью вектора перестановок: b(p). Легко показать, что
                                                           −1
решение любым способом преобразованной системы равно x1 = SCOL x , откуда
получаем решение исходной системы x = SCOL x1 . Из рассмотренного видно,
что для преобразований необходимы вектор перестановок и матрица пере-
становок столбцов.
      Рассмотрим пример. Решим систему с матрицей предыдущего примера
>> A=[4   1   0   0   1   0
      1   4   1   0   0   0
      0   1   4   0   0   0
      0   0   0   4   0   1
      1   0   0   0   4   1
      0   0   0   1   1   4];
и вектором правой части
>> b=[1 2 3 4 5 6]';
Вектор перестановок p1 и множитель Холецкого R2 упорядоченной матри-
цы уже получены в предыдущем примере. Создадим разреженную единич-
ную матрицу и матрицу перестановок столбцов
>> E=speye(6);
>> S_COL=E(:,p1);
Далее по описанному алгоритму находим решение СЛАУ
>>   y2=R2'\b(p1);
>>   z2=R2\y2;
>>   x2=S_COL*z2
x2   =
     -0.0910
      0.3576
      0.6606
      0.7338
      1.0065
      1.0649
Для проверки находим решение с помощью решателя. Напомним, что реша-
тель автоматически использует упорядочение для разреженных матриц

                                                                         27