
Определение: рангом матрицы А, называется максимальная система линейнонезависимых строк (столбцов) матрицы. Замечание: ранг матрицы по столбцам и по строкам совпадает.
Алгоритм
Обозначения:
А - матрица, состоящая из n строк и k столбцов;
A(i, j) - элемент матрицы, стоящий на i-ой строке, в j-ом столбце.
Алгоритм:
Основа алгоритма - цикл по всем элементам главной диагонали. Для квадратной матрицы размера n будет n итераций. Для прямоугольной матрицы, состоящей из n строк и k столбов, число итераций будет равно min(n, k). Пусть i - счетчик итераций. Каждый проход цикла устроен следующим образом. Если A(i, i) равен нулю, то в прямоугольнике (i, i, n, k) ищем ненулевой элемент. Если он не найден, то выходим из цикла. Если он найден, и его координаты (i2, j2), то меняем местами i-ую строку с i2-ой, и j-ый столбец с j2-ым.
Делим i-ую строку матрицы на A(i, i). Таким образом A(i, i) теперь равен 1.При помощи вычитания i-го столбца из всех столбцов стоящих правее, и i-ой строки из всех строк стоящих ниже, с определенными коэффициентами, зануляем все элементы вида А (i+1, i), A(i+2, i), ..A(n, i) и A(i, i+1), A(i, i+2), ..A(i, k).Переходим к следующей итерации. После цикла остается подсчитать сколько единиц стоит на главной диагонали. Их кол-во равно рангу. Если же их нет, то ранг равен 1.