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

UptoLike

24
Функция spdiags преобразует диагональную форму хранения к фор-
ме
sparse array:
>> A2=spdiags(B1, d, 6, 6)
A2 =
(1,1) 4
(2,1) 1
(1,2) 1
(2,2) 4
(3,2) 1
(2,3) 1
(3,3) 4
(4,3) 1
(3,4) 1
(4,4) 4
(5,4) 1
(4,5) 1
(5,5) 4
(6,5) 1
(5,6) 1
(6,6) 4
Эта же функция spdiags, использующая в качестве аргумента исходную
заполненную матрицу, формирует матрицу с диагональным хранением и век-
тор с информацией о расположении диагоналей:
>> [B2, d2]=spdiags(A1)
B2 =
1 4 0
1 4 1
1 4 1
1 4 1
1 4 1
0 4 1
d2 =
-1
0
1
Мы уже знаем, что разложение Холецкого, примененное к ленточной
матрице, представляет собой треугольную матрицу, ширина полуленты кото-
рой равно ширине полуленты исходной матрицы. Для больших ленточных
положительно определенных матриц целесообразно переставить столбцы
матрицы (а так как матрица симметричная, то и строки), чтобы ширина лен-
ты разложения была минимальна. Эта операция называется
упорядочением
(переупорядочением). В MATLAB реализованы наиболее эффективные ал-
горитмы упорядочения. Так функция
p=symrcm(A) реализует так называе-
    Функция spdiags преобразует диагональную форму хранения к фор-
ме sparse array:
    >> A2=spdiags(B1, d, 6, 6)
    A2 =
       (1,1)        4
       (2,1)        1
       (1,2)        1
       (2,2)        4
       (3,2)        1
       (2,3)        1
       (3,3)        4
       (4,3)        1
       (3,4)        1
       (4,4)        4
       (5,4)        1
       (4,5)        1
       (5,5)        4
       (6,5)        1
       (5,6)        1
       (6,6)        4
Эта же функция spdiags, использующая в качестве аргумента исходную
заполненную матрицу, формирует матрицу с диагональным хранением и век-
тор с информацией о расположении диагоналей:
>> [B2, d2]=spdiags(A1)
B2 =
     1     4     0
     1     4     1
     1     4     1
     1     4     1
     1     4     1
     0     4     1
d2 =
    -1
     0
     1
    Мы уже знаем, что разложение Холецкого, примененное к ленточной
матрице, представляет собой треугольную матрицу, ширина полуленты кото-
рой равно ширине полуленты исходной матрицы. Для больших ленточных
положительно определенных матриц целесообразно переставить столбцы
матрицы (а так как матрица симметричная, то и строки), чтобы ширина лен-
ты разложения была минимальна. Эта операция называется упорядочением
(переупорядочением). В MATLAB реализованы наиболее эффективные ал-
горитмы упорядочения. Так функция p=symrcm(A) реализует так называе-

                                                                      24