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