Структурный ранг матрицы является максимальным рангом всех матриц с тем же ненулевым шаблоном. Матрица A имеет полный структурный ранг, если это может быть переставлено так, чтобы диагональ не имела никаких нулевых записей.
Структурный ранг является верхней границей на ранге матрицы, таким образом, это удовлетворяет sprank(A) >= rank(full(A))
.
Вот некоторые определения структурного ранга в терминах других функций:
Структурный ранг является "соответствием максимума" и связан с разложением Дулмаге-Мендельсона sprank(A) = sum(dmperm(A)>0)
.
В отличие от dmperm
, matchpairs
функция также принимает веса во внимание, когда она вычисляет соответствия. Можно вычислить максимум, соответствующий путем преобразования матрицы в 1 с и 0s и максимизации веса соответствий с matchpairs(double(A~=0),0,'max')
. Структурный ранг затем равен количеству соответствий.