Вычисление ранга матрицы методом элементарных преобразований (алгоритм Гаусса).
Под элементарными преобразованиями строк (столбцов) матрицы понимают следующие действия:
- Перемена мест двух строк (столбцов).
- Умножение всех элементов строки (столбца) на некоторое число $a\neq 0$.
- Суммирование всех элементов одной строки (столбца) с соответствующими элементами иной строки (столбца), умноженными на некое действительное число.
Если применить к строкам или столбцам матрицы $A$ некое элементарное преобразование, то получим новую матрицу $B$. В этом случае $\rang=\rang$, т.е. элементарные преобразования не изменяют ранг матрицы.
Часто используется и такая запись: $A\rightarrow B$, которая означает, что матрица $B$ получена из матрицы $A$ применением некоего элементарного преобразования.
При нахождении ранга методом Гаусса работать можно как со строками, так и со столбцами. Удобнее работать со строками, поэтому в примерах на этой странице преобразования выполняются именно над строками матриц.
Краткое описание алгоритма
Введём несколько терминов. Нулевая строка – строка, все элементы которой равны нулю. Ненулевая строка – строка, хоть один элемент которой отличен от нуля. Ведущим элементом ненулевой строки называется её первый (считая слева направо) отличный от нуля элемент. Например, в строке $(0;0;5;-9;0)$ ведущим будет третий элемент (он равен 5).
Ранг любой нулевой матрицы равен 0, поэтому станем рассматривать матрицы, отличные от нулевых. Конечная цель преобразований матрицы – сделать её ступенчатой. Ранг ступенчатой матрицы равен количеству ненулевых строк.
Рассматриваемый метод нахождения ранга матрицы состоит из нескольких шагов. На первом шаге используется первая строка, на втором шаге – вторая и так далее. Когда под той строкой, которую мы используем на текущем шаге, остаются лишь нулевые строки, или же не остаётся строк вовсе, то алгоритм прекращается, так как полученная матрица будет ступенчатой.
Теперь обратимся к тем преобразованиям над строками, которые выполняются на каждом шаге алгоритма. Пусть под текущей строкой, которую нам нужно использовать на данном шаге, имеются ненулевые строки, причём $k$ – номер ведущего элемента текущей строки, а $k_<\min>$ – наименьший из номеров ведущих элементов тех строк, которые лежат ниже текущей строки.
- Если $k\lt
>$, то переходим к следующему шагу алгоритма, т.е. к использованию следующей строки. - Если $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Если появляются нулевые строки, то переносим их в низ матрицы. Затем переходим к следующему шагу алгоритма.
- Если $k\gt
>$, то меняем местами текущую строку с одной из тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. После этого производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Если таких строк нет, то переходим к следующему шагу алгоритма. Если появляются нулевые строки, то переносим их в низ матрицы.
Как конкретно происходит обнуление ведущих элементов, рассмотрим на практике. Буквами $r$ (от слова «row») станем обозначать строки: $r_1$ – первая строка, $r_2$ – вторая строка и так далее. Буквами $c$ (от слова «column») станем обозначать столбцы: $c_1$ – первый столбец, $c_2$ – второй столбец и так далее.
В примерах на данной странице буквой $k$ я стану обозначать номер ведущего элемента текущей строки, а запись $k_<\min>$ будет использована для обозначения наименьшего из номеров ведущих элементов строк, лежащих под текущей строкой.
Найти ранг матрицы $A=\left(\begin
Данная матрица не является нулевой, а значит её ранг больше нуля. Перейдём к первому шагу алгоритма.
Первый шаг
На первом шаге мы работаем с первой строкой. В первой строке заданной нам матрицы ведущим является первый элемент, т.е. номер ведущего элемента первой строки $k=1$. Посмотрим на строки, расположенные под первой строкой. Ведущие элементы в этих строках имеют номера 4, 1, 1 и 1. Наименьшим из этих номеров есть $k_<\min>=1$. Так как $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Иными словами, нужно обнулить ведущие элементы третьей, четвёртой и пятой строк.
В принципе, можно приступать к обнулению указанных выше элементов, однако для тех преобразований, которые выполняются для обнуления, удобно, когда ведущим элементом используемой строки является единица. Это не обязательно, но очень упрощает расчёты. У нас ведущим элементом первой строки есть число -2. Чтобы заменить «неудобное» число единицей (или числом (-1)) есть несколько вариантов. Можно, например, умножить первую строку на 2, а затем от первой строки вычесть пятую. А можно просто поменять местами первый и третий столбцы. После перестановки столбцов №1 и №3 получим новую матрицу, эквивалентную заданной матрице $A$:
$$ \left(\begin
Ведущим элементом первой строки стала единица. Номер ведущего элемента первой строки не поменялся: $k=1$. Номера ведущих элементов строк, расположенных ниже первой, таковы: 4, 1, 2, 1. Наименьший номер $k_<\min>=1$. Так как $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Это значит, что нужно обнулить ведущие элементы третьей и пятой строк. Эти элементы выделены синим и зелёным цветами.
Чтобы обнулить нужные элементы, будем выполнять операции со строками матрицы. Запишу эти операции отдельно:
Запись $r_3+5r_1$ означает, что к элементам третьей строки прибавили соответствующие элементы первой строки, умноженные на пять. Результат записывают на место третьей строки в новую матрицу. Если с устным выполнением такой операции возникают сложности, то это действие можно выполнить отдельно:
Действие $r_5-r_1$ выполняется аналогично. В результате преобразований строк получим такую матрицу:
$$ \left(\begin
На этом первый шаг можно считать законченным. Так как под первой строкой остались ненулевые строки, то нужно продолжать работу. Единственный нюанс: в третьей строке полученной матрицы все элементы делятся нацело на 2. Чтобы уменьшить числа и упростить себе расчёты, умножим элементы третьей строки на $\frac<1><2>$, а затем уже перейдём ко второму шагу:
$$ \left(\begin
Второй шаг
На втором шаге мы работаем с второй строкой. Во второй строке матрицы ведущим является четвёртый элемент, т.е. номер ведущего элемента второй строки $k=4$. Посмотрим на строки, расположенные под второй строкой. Ведущие элементы в этих строках имеют номера 2, 2 и 2. Наименьшим из этих номеров есть $k_<\min>=2$. Так как $k\gt
$$ \left(\begin
Опять обратимся ко второй строке. Теперь ведущим в ней является второй элемент (он выделен красным цветом), т.е. $k=2$. Наименьшим из номеров ведущих элементов нижележащих строк (т.е. из чисел 2, 2 и 4) будет $k_<\min>=2$. Так как $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Это значит, что нужно обнулить ведущие элементы третьей и четвёртой строк. Эти элементы выделены синим и зелёным цветами.
Отмечу, что на предыдущем шаге ведущим элементом текущей строки с помощью перестановки столбцов была сделана единица. Это было выполнено, чтобы избежать работы с дробями. Здесь тоже можно поставить единицу на место ведущего элемента второй строки: например, поменяв местами второй и четвёртый столбцы. Однако делать это мы не станем, так как дробей и так не возникнет. Действия со строками будут такими:
Выполняя указанные операции, придём к такой матрице:
$$ \left(\begin
Второй шаг закончен. Так как под второй строкой остались ненулевые строки, то переходим к третьему шагу.
Третий шаг
На третьем шаге мы работаем с третьей строкой. В третьей строке матрицы ведущим является четвёртый элемент, т.е. номер ведущего элемента третьей строки $k=4$. Посмотрим на строки, расположенные под третьей строкой. Ведущие элементы в этих строках имеют номера 4 и 4, наименьший из которых $k_<\min>=4$. Так как $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Это значит, что нужно обнулить ведущие элементы четвёртой и пятой строк. Преобразования, которые выполняются с этой целью, полностью аналогичны тем, что осуществлялись ранее:
$$ \left(\begin
Под третьей строкой остались лишь нулевые строки. Это значит, что преобразования закончены. Мы привели матрицу к ступенчатому виду. Так как приведённая матрица содержит три ненулевых строки, то её ранг равен 3. Следовательно, и ранг исходной матрицы равен трём, т.е. $\rang A=3$. Полное решение без пояснений таково:
$$ \left(\begin
Найти ранг матрицы $A=\left(\begin
Данная матрица не является нулевой, а значит её ранг больше нуля. Перейдём к первому шагу алгоритма.
Первый шаг
На первом шаге мы работаем с первой строкой. В первой строке заданной нам матрицы ведущим является первый элемент, т.е. номер ведущего элемента первой строки $k=1$. Посмотрим на строки, расположенные под первой строкой. Ведущие элементы в этих строках имеют номер 1, т.е. наименьший из номеров ведущих элементов нижележащих строк есть $k_<\min>=1$. Так как $k=k_<\min>$, то нужно произвести обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Иными словами, нужно обнулить ведущие элементы второй, третьей и четвёртой строк.
Для удобства расчётов сделаем так, чтобы ведущим элементом первой строки стала единица. В предыдущем примере для этого мы меняли местами столбцы, однако с этой матрицей такое действие не пройдёт – в данной матрице нет элементов, равных единице. Выполним одно вспомогательное действие: $r_1-5r_2$. Тогда ведущий элемент первой строки станет равен 1.
$$ \left(\begin
Ведущим элементом первой строки стала единица. Обнулим ведущие элементы нижележащих строк:
$$ \left(\begin
Первый шаг закончен. Так как под первой строкой остались ненулевые строки, то нужно продолжать работу.
Второй шаг
На втором шаге работаем с второй строкой. Во второй строке матрицы ведущим является второй элемент, т.е. номер ведущего элемента второй строки $k=2$. Ведущие элементы в нижележащих строках имеют тот же номер 2, поэтому $k_<\min>=2$. Так как $k=k_<\min>$, то производим обнуление ведущих элементов тех нижележащих строк, у которых номер ведущего элемента равен $k_<\min>$. Это значит, что нужно обнулить ведущие элементы третьей и четвёртой строк.
$$ \left(\begin
Появилась нулевая строка. Опустим её в низ матрицы:
$$ \left(\begin
Второй шаг закончен. Заметьте, что мы уже получили ступенчатую матрицу. Впрочем, мы можем формально закончить наш алгоритм. Так как под второй строкой остались ненулевые строки, то следует перейти к третьему шагу и работать с третьей строкой, однако под третьей строкой ненулевых строк нет. Следовательно, преобразования завершены.
К слову, полученная нами матрица является трапециевидной. Трапециевидная матрица – это частный случай ступенчатой матрицы.
Так как данная матрица содержит три ненулевых строки, то её ранг равен 3. Следовательно, и ранг исходной матрицы равен трём, т.е. $\rang=3$. Полное решение без пояснений таково:
$$ \left(\begin
Найти ранг матрицы $A=\left(\begin
Иногда в процессе решения удобно транспонировать матрицу. Так как ранг транспонированной матрицы равен рангу исходной матрицы, то такая операция вполне допустима. В этом примере будет рассмотрен как раз такой случай. В ходе преобразований возникнут две одинаковые строки $(0;\;1;\;-2)$ (первая и четвёртая). В принципе, можно выполнить действие $r_4-r_1$, тогда четвёртая строка обнулится, однако это лишь удлинит решение на одну запись, поэтому выполнять обнуление четвёртой строки не станем.
$$ \left(\begin
Найти ранг матрицы $A=\left(\begin
Данная матрица не является нулевой, т.е. её ранг больше нуля. Перейдём к первому шагу алгоритма.
Первый шаг
На первом шаге мы работаем с первой строкой. В первой строке заданной нам матрицы ведущим является второй элемент, т.е. номер ведущего элемента первой строки $k=2$. Рассмотрим строки, расположенные под первой строкой. Ведущие элементы в этих строках имеют номер 3, т.е. наименьший из номеров ведущих элементов нижележащих строк есть $k_<\min>=3$. Так как $k\lt
Второй шаг
На втором шаге мы работаем с второй строкой. Во второй строке ведущим является третий элемент, т.е. номер ведущего элемента второй строки $k=3$. Под второй строкой расположена лишь одна третья строка, номер ведущего элемента которой равен 3, поэтому $k_<\min>=3$. Так как $k=k_<\min>$, то производим обнуление ведущего элемента третьей строки:
$$ \left(\begin
Получена ступенчатая матрица. Ранг преобразованной матрицы, а следовательно и ранг исходной матрицы, равен 3.
Найти ранг матрицы $A=\left(\begin
Иногда можно свести матрицу к ступенчатой с помощью одних лишь перестановок строк или столбцов. Это бывает, разумеется, крайне редко, однако удачная перестановка позволяет существенно упростить решение.
Матрица приведена к ступенчатой, $\rang=3$.
Заметили ошибку, опечатку, или некорректно отобразилась формула? Отпишите, пожалуйста, об этом в данной теме на форуме (регистрация не требуется).
Источник