MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

MATLAB\MATLAB

В.Г.Потемкин "Справочник по MATLAB"
Работа с разреженными матрицами

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

Вспомогательные операции

SPPARMS
Установка параметров для алгоритмов упорядочения и прямого решения линейных уравнений для разреженных матриц

Синтаксис:

            spparms
            values = spparms
            [keys, values] = spparms
            value = spparms(‘<ключ>‘)
            spparms(‘<ключ>‘, <значение>)
            spparms(<значения>)

Описание:

Работа с разреженными матрицами в системе MATLAB организована с помощью специального монитора SParse MONItor. Большинству пользователей знание служебных команд работы с монитором совершенно не обязательно. Эти команды предназначены только для тех пользователей, которые хотели бы увидеть и, возможно, изменить работу алгоритмов упорядочения и решения систем линейных уравнений.

Функция spparms сама по себе выводит на экран описания текущих установок.

Функция values = spparms выводит на экран значения этих установок.

Функция [keys, values] = spparms выводит вектор значений и символьную матрицу, строки которой являются ключами параметров монитора SParse MONItor.

Функция value = spparms(‘<ключ>‘) выводит значение параметра для данного ключа.

Функция spparms(‘<ключ>‘, <значение>) устанавливает один или более настраиваемый параметр, который используется в функциях упорядочения colmmd и symmmd, а также в операциях решения систем линейных уравнений / и \.

Функция spparms(values) применяется без выходных параметров и устанавливает значения, указанные во входном векторе.

Функция spparms(‘default’) устанавливает значения по умолчанию.

Функция spparms(‘tight’) устанавливает параметры алгоритмов упорядочения по разреженности к наиболее “строгим” значениям, что приводит к процедурам упорядочения без удаления строк, которые требуют большего времени выполнения.

В нижеследующей таблице приведены расшифровки ключей для параметров и их значений по умолчанию и в “строгом смысле”.

Параметр Ключ Значения
по умолчанию в “строгом смысле”
values(1) `spumoni` 0.0  
values(2) `thr_rel` 1.1 1.0
values(3) `thr_abs` 1.0 0.0
values(4) `exact_d` 0.0 1.0
values(5)v `supernd` 3.0 1.0
values(6) `rreduce` 3.0 1.0
values(7) `wh_frac` 0.5 0.5
values(8) `autommd` 1.0  
values(9) `aug_rel` 0.001  
values(10) `aug_abs` 0.0  

При этом ключи имеют следующие значения:

Ключи Значение
`spumoni` Флаг монитора SParse MONItor:
0 - не выводит диагностических сообщений, по умолчанию;
1 - выводит информацию о выбранном алгоритме;
2 - выводит детальную информацию о работе алгоритмов упорядочения
`thr_rel`,
`thr_abs`
Порог минимальной разреженности
thr_rel * mindegree + thr_abs
`exact_d` 0 - использование приближенных значений разреженности;
image932.gif (837 bytes)0 - использование точных значений разреженности
`supernd` Целое >= 1 - объединение узлов каждые supernd шагов
`rreduce` Целое >= 1 - удаление строк каждые rreduce шагов
`wh_frac` В процедуре colmmd строки с коэффициентом заполнения, превышающим wh_frac, пропускаются
`autommd` image932.gif (837 bytes)0 - в процедурах \ и / использовать упорядочение по разреженности
`aug_rel`,
`aug_abs`
Параметр масштабирования невязки в проблеме наименьших квадратов, равный aug_rel * max(max(abs(A))) + aug_abs.
Например, при значениях aug_rel = 0 и aug_abs = 1 единичная матрица главного верхнего блока будет немасштабированной

Примеры:

Ниже приведены примеры выполнения вспомогательных операций и указан русский перевод сообщений системы.

           spparms (для значений по умолчанию)

No SParse MONItor output. Выходных данных SParse MONItor не формирует
mmd: threshold = 1.1 * mindegree + 1, using approximate degrees in A'*A, mmd: <порог> = 1.1 * mindegree + 1; приближенные значения разреженности при работе с A'*A;
supernode amalgamation every 3 stages, объединение узлов - каждые 3 шага;
row reduction every 3 stages, редукция строк - каждые 3 шага;
withhold rows at least 50% dense in colmmd. удерживать строки с разреженностью не менее 50 %.
Minimum degree orderings used by \ and /. Для операций \ и / применять упорядочение по разреженности.
Residual scale parameter = 0.001 * max(abs(A)). Параметр невязки: 0.001 * max(abs(A)).

           [keys, values] = spparms

keys = values =
spumoni 0
thr_rel 1.1000
thr_abs 1.0000
exact_d 0
supernd 3.0000
rreduce 3.0000
wh_frac 0.5000
autommd 1.0000
aug_rel 0.0010
aug_abs 0

             value = spparms('spumoni')
             value =     0.

Сопутствующие функции: COLMMD, SYMMMD, \.

Ссылки:

1. Gilbert J. R., Moler C., Schreiber R. Sparse Matrices in MATLAB: Design and Implementation//SIAM Journal on Matrix Analysis and Applications. 1992. Vol. P. 333-356.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика