exponenta event banner

прыгнул

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

Синтаксис

Описание

пример

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
Поддержка комплексного номера: Да

Подробнее

свернуть все

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

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

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

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

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

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

См. также

|

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