sprank

Структурный ранг

Синтаксис

Описание

пример

r = sprank(A) вычисляет структурный ранг разреженной матрицы A.

Примеры

свернуть все

Вычислите структурный ранг 2 4 матрица.

A = [1 0 2 0
     2 0 4 0];
A = sparse(A);
rs = sprank(A)
rs = 2

Сравните структурный ранг с регулярным вычислением ранга.

rf = rank(full(A))
rf = 1

Для этой матрицы структурный ранг 2, поскольку два из столбцов являются ненулевыми. Но фактический ранг матрицы 1, поскольку столбцы являются множителями друг друга.

Входные параметры

свернуть все

Введите матрицу, заданную как разреженная матрица.

Типы данных: double
Поддержка комплексного числа: Да

Больше о

свернуть все

Структурный ранг

Структурный ранг матрицы является максимальным рангом всех матриц с тем же ненулевым шаблоном. Матрица A имеет полный структурный ранг, если это может быть переставлено так, чтобы диагональ не имела никаких нулевых записей.

Структурный ранг является верхней границей на ранге матрицы, таким образом, это удовлетворяет sprank(A) >= rank(full(A)).

Вот некоторые определения структурного ранга в терминах других функций:

  • Структурный ранг является "соответствием максимума" и связан с разложением Дулмаге-Мендельсона sprank(A) = sum(dmperm(A)>0).

  • В отличие от dmperm, matchpairs функция также принимает веса во внимание, когда она вычисляет соответствия. Можно вычислить максимум, соответствующий путем преобразования матрицы в 1 с и 0s и максимизации веса соответствий с matchpairs(double(A~=0),0,'max'). Структурный ранг затем равен количеству соответствий.

Смотрите также

|

Представлено до R2006a