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

UptoLike

26
телен. Для больших разреженных матриц эффект может быть очень большим
(см. систему помощи: Matlab\Mathematics\Sparse Matrix Operations).
Рис. 1.3. Разложение Холецкого с упорядочением
В MATLAB реализованы и другие методы упорядочения. Например,
функция
p=symamd(A)возвращает вектор упорядоченности p симметрич-
ной положительно определенной матрицы
A. При этом разложение Холец-
кого матрицы
A(p,p) будет более разреженным, чем разложение матрицы
A. Такое упорядочение автоматически применяется решателем \ для поло-
жительно определенных матриц. Для обратной совместимости с более ран-
ними версиями имеется устаревшая функция
symmmd, вместо которой реко-
мендуется использовать
symamd. Функция p=colamd(A) возвращает такой
вектор упорядоченности
p столбцов несимметричной матрицы, что
LU-разложение матрицы A(:,p) будет более разреженным, чем разложе-
ние матрицы
A. Такое упорядочение автоматически применяется решателем
\ для разреженных несимметричных матриц. Аналогично, имеется уста-
ревшая функция
colmmd. Надо учитывать, что алгоритмы упорядочения яв-
ляются эвристическими и не дают гарантии минимального заполнения мат-
риц. Однако для большинства реальных задач алгоритмы дают хорошие ре-
зультаты.
Рассмотрим решение СЛАУ с использованием упорядочения. Преобра-
зование матрицы A с помощью матриц перестановки строк
R
OW
S и столбцов
COL
S
записывается в виде
R
OW COL
SAS
. Матрицы
R
OW
S
и
COL
S
получаются из
единичной матрицы перестановкой строк и столбцов в соответствии с векто-
телен. Для больших разреженных матриц эффект может быть очень большим
(см. систему помощи: Matlab\Mathematics\Sparse Matrix Operations).




                   Рис. 1.3. Разложение Холецкого с упорядочением


    В MATLAB реализованы и другие методы упорядочения. Например,
функция p=symamd(A)возвращает вектор упорядоченности p симметрич-
ной положительно определенной матрицы         A. При этом разложение Холец-
кого матрицы A(p,p) будет более разреженным, чем разложение матрицы
A. Такое упорядочение автоматически применяется решателем \ для поло-
жительно определенных матриц. Для обратной совместимости с более ран-
ними версиями имеется устаревшая функция symmmd, вместо которой реко-
мендуется использовать symamd. Функция p=colamd(A) возвращает такой
вектор упорядоченности p столбцов несимметричной                    матрицы, что
LU-разложение матрицы A(:,p) будет более разреженным, чем разложе-
ние матрицы A. Такое упорядочение автоматически применяется решателем
\   для разреженных несимметричных матриц. Аналогично, имеется уста-
ревшая функция colmmd. Надо учитывать, что алгоритмы упорядочения яв-
ляются эвристическими и не дают гарантии минимального заполнения мат-
риц. Однако для большинства реальных задач алгоритмы дают хорошие ре-
зультаты.
    Рассмотрим решение СЛАУ с использованием упорядочения. Преобра-
зование матрицы A с помощью матриц перестановки строк S ROW и столбцов
SCOL записывается в виде S ROW ASCOL . Матрицы S ROW и SCOL получаются из
единичной матрицы перестановкой строк и столбцов в соответствии с векто-

                                                                              26