Норма, число обусловленности и ранг разреженной матрицы
Ниже представлены
функции, позволяющие вычислять числа обусловленности и ранги для разреженных
матриц.
-
с = condest(A)
— использует метод Хейджера в модификации Хаема для оценки числа обусловленности
матрицы по первой норме. Вычисленное значение с — нижняя оценка числа обусловленности
матрицы А по первой норме. Для повторяемости результатов перед выполнением
функции condest нужно обязательно выполнить rand( 'state' ,L), где L -одно
и то же целое число;
-
с = condest(A.T)
— где Т — положительное целое число, чем выше Т, тем выше точность оценки.
По умолчанию Т равно 2;
-
nrm =
normest(S) — возвращает оценку второй нормы матрицы S. Применяется тогда,
когда из-за чрезмерного числа элементов в матрице вычисление nrm = norm(S)
занимает слишком много времени. Эта функция изначально предназначена для
работы с разреженными матрицами, хотя она работает корректно и с большими
полными матрицами;
-
[c.v] =
condestCA) — возвращает число обусловленности с и вектор v, такой, что выполняется
условие norm(A*V.l) = norm(A.l)*norm(V.l)/c. Таким образом, для больших
значений с вектор V близок к нулевому вектору;
-
nrm =
normest(S,tol) — использует относительную погрешность tol вместо используемого
по умолчанию значения 10-
6
;
-
[nrm.count]
= normestC...) — возвращает оценку второй нормы и количество использованных
операций. Примеры:
»
F=wilkinson(150); » condest(sparse(F))
ans =
460.2219
»
normest(sparse(F))
ans =
75.2453
-
r=sprank(S)
— вычисляет структурный ранг разреженной матрицы S. В терминах теории графов
он известен также под следующими названиями: максимальное сечение, максимальное
соответствие и максимальное совпадение. Для величины структурного ранга
всегда выполняется условие sprank(S)irank(S), а в точной арифметике с вероятностью
1 выполняется условие sprank(S) = rank(sprandnCS)).
Пример:
»
S=[3 0004: 54080; 00013];
» r=sprank(S)
Содержание раздела