ВУЗ:
Составители:
Рубрика:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »