лгоритм нахождения ранга матрицы.

Пусть требуется вычислить ранг матрицы размеров . Если матрица нулевая, то по определению . В противном случае с помощью перестановки строк и столбцов матрицы добиваемся того, чтобы в левом верхнем углу матрицы стоял ненулевой элемент. Итак, считаем, что .

Первую строку оставляем без изменений. Ко второй строке прибавляем первую, умноженную на число . В результате вторая строка принимает вид

Затем к третьей строке прибавляем первую строку, умноженную на число . В результате третья строка принимает вид

Процесс продолжаем до тех пор, пока не получим нуль на первом месте в последней строке.

Преобразованная матрица имеет вид

Если все строки, начиная со второй, в полученной матрице нулевые, то ее ранг равен 1, так как есть минор первого порядка, отличный от нуля . В противном случае перестановкой строк и столбцов матрицы с номерами, большими единицы, добиваемся, чтобы второй элемент второй строки был отличен от нуля. Итак, считаем, что .

Первую и вторую строки оставляем без изменений. К третьей строке прибавляем вторую, умноженную на число . В результате получим, что второй элемент третьей строки равен нулю. Затем к четвертой строке прибавляем вторую, умноженную на число , и т.д. В результате получаем матрицу

Если все строки, начиная с третьей, нулевые, то , так как минор . В противном случае перестановкой строк и столбцов с номерами, большими двух, добиваемся, чтобы третий элемент третьей строки был отличен от нуля. Далее, добавлением третьей строки, умноженной на соответствующие числа, к строкам с большими номерами получаем нули в третьем столбце, начиная с четвертого элемента, и т.д.

На каком-то этапе мы придем к матрице, у которой все строки, начиная с -ой , равны нулю (или отсутствуют при ), а минор в первых строках и первых столбцах является определителем треугольной матрицы с ненулевыми элементами на диагонали. Ранг такой матрицы равен . Следовательно, .

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

Замечание 14.16 Если в исходной матрице элементы были целыми числами, то и вычисления удобно производить без использования дробей. Поэтому на каждом этапе целесообразно умножать строки на такие числа, чтобы при вычислениях дроби не возникали.

Пример 14.12 Найдите ранг матрицы .

Решение. Первую строку оставляем без изменений. Чтобы избежать появления дробей, умножим вторую, третью и четвертую строки на 2:

Первую строку умножим на и прибавим ко второй. Получим строку . Первую строку умножим на и прибавим к третьей. Получим строку . Первую строку умножим на и прибавим к четвертой. Получим строку . В итоге имеем матрицу

Вторую строку оставляем без изменений. К третьей строке прибавляем вторую, умноженную на 2. Получим строку . К четвертой строке прибавляем вторую. Получим нулевую строку. Преобразованная матрица имеет вид

Поменяем местами третий и четвертый столбцы:

Базисный минор матрицы стоит в первых трех столбцах и первых трех строках, . Следовательно, .

Замечание 14.17 В приведенном примере вычисления были бы проще, если сначала четвертый столбец сделать первым и четвертую строку сделать первой. Но для того, чтобы догадаться об этом, нужно анализировать вопросы делимости чисел, что достаточно сложно описать в алгоритме, пригодном для всех случаев.