Массив рангов
Для построения некоторых сложных формул массива может потребоваться массив рангов, т.е. тот же набор рангов, но в одной ячейке.
Как видно из картинки выше, значения из диапазона В60:В67 и в ячейке D60 совпадают. Такой массив можно получить с помощью формулы =РАНГ(A60:A67;A60:A67) или с помощью формулы =СЧЁТЕСЛИ(A60:A67;»>»&A60:A67)+1
Ранги по возрастанию можно получить с помощью формулы =РАНГ(A60:A67;A60:A67;1) или =СЧЁТЕСЛИ(A60:A67;» .
Определитель матрицы (det) можно вычислить только для квадратных матриц, т.е. у которых количество строк равно количеству столбцов.
Для вычисления определителя в MS EXCEL есть специальная функция МОПРЕД() . В аргументе функции необходимо указать ссылку на диапазон ячеек (массив), содержащий элементы матрицы (см. файл примера ).
Массив может быть задан не только как интервал ячеек, например A7:B8 , но и как массив констант , например =МОПРЕД() . Запись с использованием массива констант позволяет не указывать элементы в отдельных ячейках, а разместить их в ячейке вместе с функцией. Массив в этом случае указывается по строкам: например, сначала первая строка 5;4, затем через двоеточие записывается следующая строка 3;2. Элементы отделяются точкой с запятой.
Ссылка на массив также может быть указана как ссылка на именованный диапазон .
В файле примера для матрицы 3 х 3 определитель также вычислен через разложение по столбцу и по правилу Саррюса.
Неравенства для ранга
Т
Теорема 1. Для любых матриц $ A_{} $ и $ B_{} $ одинакового порядка имеет место неравенство:
$$
\operatorname{rank} (A + B) \le \operatorname{rank} (A) + \operatorname{rank} (B) \ .
$$
Т
Теорема 2. Для любых матриц
$ A_{m\times n}^{} $ и $ B_{n\times \ell}^{} $ имеет место неравенство Сильвестра:
$$
\operatorname{rank} (A) + \operatorname{rank} (B) — n \le \operatorname{rank} (AB) \le \min (\operatorname{rank} (A), \operatorname{rank} (B)) \ .
$$
=>
Если $ A_{} $ и $ B_{} $ — квадратные матрицы $ n_{} $-го
порядка и $ \det B \ne 0_{} $, то
$$ \operatorname{rank} (AB) = \operatorname{rank} (A)^{} \, .$$
Индексирование
Для получения элементов матрицы можно использовать несколько способов.
Рассмотрим самые простые из них.
Для удобства напомним, как выглядит матрица d:
print ("Матрица:\n", d)
Матрица: ]
Элемент на пересечении строки i и столбца j можно
получить с помощью выражения array.
Обратите внимание: строки и столбцы нумеруются с нуля!
print ("Второй элемент третьей строки матрицы:", d2, 1])
Второй элемент третьей строки матрицы: 18
Из матрицы можно получать целые строки или столбцы с помощью выражений
array или array соответственно:
print ("Вторая строка матрицы d:\n", d1, :]) print ("Четвертый столбец матрицы d:\n", d)
Вторая строка матрицы d: Четвертый столбец матрицы d:
Еще один способ получения элементов — с помощью выражения
array, где list1, list2 —
некоторые списки целых чисел. При такой адресации одновременно
просматриваются оба списка и возвращаются элементы матрицы с
соответствующими координатами. Следующий пример более понятно объясняет
механизм работы такого индексирования:
print ("Элементы матрицы d с координатами (1, 2) и (0, 3):\n", d, 2, 3]])
Элементы матрицы d с координатами (1, 2) и (0, 3):
# Slicing
# Создадим матрицу (3, 4)
#
#
# ]
a = np.array(, 5,6,7,8], 9,10,11,12]])
# Используя слайсинг, созадим матрицу b из элементов матрицы а
# будем использовать 0 и 1 строку, а так же 1 и 2 столебц
#
# ]
b = a) # Prints «2»
b, = 77 # b is the same piece of data as a
print(a, 1]) # Prints «77»
] 2 77
# Integer array indexing
a = np.array(, 3, 4], 5, 6]])
print(a)
print()
# Пример Integer array indexing
# В результате получится массив размерности (3,)
# Обратите внимание, что до запятой идут индексы строк, после — столбцов
print(a, , 1, ]]) # Prints «»
print()
# По-другому пример можно записать так
print(np.array(, a1, 1], a2, ]])) # Prints «»
]
Примеры использования слайсинга:
# Создадим новый маассив, из которого будем выбирать эллементы a = np.array(, 4,5,6], 7,8,9], 10, 11, 12]]) print(a) # prints "array(, # , # , # ])" # Создадим массив индексов b = np.array() # Выберем из каждой строки элемент с индексом из b (индекс столбца берется из b) print(anp.arange(4), b]) # Prints "" print() # Добавим к этим элементам 10 anp.arange(4), b += 10 print(a) # prints "array(, # , # , # ])
] ]
a = np.array(, 3, 4], 5, 6]]) bool_idx = (a > 2) # Найдем эллементы матрицы a, которые больше 2 # В результате получим матрицу b, такой же размерности, как и a print(bool_idx) # Prints " print() # # ]" # Воспользуемся полученным массивом для создания нового массива, ранга 1 print(abool_idx]) # Prints "" # Аналогично print(aa > 2]) # Prints ""
]
#Помните, что вы можете пользоваться сразу несколькими типами индексирования a = np.array(, 5,6,7,8], 9,10,11,12]]) row_r1 = a1, :] row_r2 = a12, :] print(row_r1, row_r1.shape) # Prints " (4,)" print(row_r2, row_r2.shape) # Prints "`5 6 7 8` (1, 4)"
(4,) `5 6 7 8` (1, 4)
Определяем ранг в списке с повторами
Если список содержит повторы , то повторяющимся значениям (выделено цветом) будет присвоен одинаковый ранг (максимальный, если использована функция РАНГ() или РАНГ.РВ() ) или среднее значение, если РАНГ.СР() ). Наличие повторяющихся чисел влияет на ранги последующих чисел. Например, если в списке целых чисел, отсортированных по возрастанию, дважды встречается число 10, имеющее ранг 5, число 11 будет иметь ранг 7 (ни одно из чисел не будет иметь ранга 6).
Иногда это не удобно и требуется, чтобы ранги не повторялись (например, при определении призовых мест, когда нельзя занимать нескольким людям одно место).
В этом нам поможет формула =РАНГ(A37;A$37:A$44)+СЧЁТЕСЛИ(A$37:A37;A37)-1
Предполагается, что исходный список с числами находится в диапазоне А37:А44 .
Примечание . В MS EXCEL 2010 добавилась функция РАНГ.РВ(число;ссылка;) Если несколько значений имеют одинаковый ранг, возвращается наивысший ранг этого набора значений (присваивает повторяющимся числам одинаковые значения ранга). В файле примера дается пояснение работы этой функции. Также добавилась функция РАНГ.СР(число;ссылка;) Если несколько значений имеют одинаковый ранг, возвращается среднее.
Как исследовать систему линейных уравнений на совместность?
Нередко помимо решения системы линейных уравнений
по условию предварительно требуется исследовать её на совместность, то есть доказать, что какое-либо решение вообще существует. Ключевую роль в такой проверке играет теорема Кронекера-Капелли
, которую я сформулирую в необходимом виде:
Если ранг матрицы системы
равен рангу расширенной матрицы системы
, то система совместна, причём, если данное число совпадает с количеством неизвестных, то решение единственно.
Таким образом, для исследования системы на совместность нужно проверить равенство , где – матрица системы
(вспоминаем терминологию из урока Метод Гаусса
), а – расширенная матрица системы
(т.е. матрица с коэффициентами при переменных + столбец свободных членов).
Элементарными
называются
следующие преобразования матрицы:
1) перестановка
двух любых строк (или столбцов),
2) умножение строки
(или столбца) на отличное от нуля число,
3) прибавление к
одной строке (или столбцу) другой строки
(или столбца), умноженной на некоторое
число.
Две
матрицы называются эквивалентными
,
если одна из них получается из другой
с помощью конечного множества элементарных
преобразований.
Эквивалентные
матрицы не являются, вообще говоря,
равными, но их ранги равны. Если матрицы
А и В эквивалентны, то это записывается
так: A ~ B.
Канонической
матрицей
называется матрица, у которой в начале
главной диагонали стоят подряд несколько
единиц (число которых может равняться
нулю), а все остальные элементы равны
нулю, например,
При помощи
элементарных преобразований строк и
столбцов любую матрицу можно привести
к канонической. Ранг канонической
матрицы равен числу единиц на ее главной
диагонали.
Пример
2
Найти
ранг матрицы
А=
и привести ее к
каноническому виду.
Решение.
Из
второй строки вычтем первую и переставим
эти строки:
.
Теперь из второй
и третьей строк вычтем первую, умноженную
соответственно на 2 и 5:
;
из третьей строки
вычтем первую; получим матрицу
В = ,
которая эквивалентна
матрице А, так как получена из нее с
помощью конечного множества элементарных
преобразований. Очевидно, что ранг
матрицы В равен 2, а следовательно, и
r(A)=2. Матрицу В легко привести к
канонической. Вычитая первый столбец,
умноженный на подходящие числа, из всех
последующих, обратим в нуль все элементы
первой строки, кроме первого, причем
элементы остальных строк не изменяются.
Затем, вычитая второй столбец, умноженный
на подходящие числа, из всех последующих,
обратим в нуль все элементы второй
строки, кроме второго, и получим
каноническую матрицу:
.
Теоре́ма
Кро́некера — Капе́лли
—
критерий совместности системы линейных
алгебраических уравнений:
Для
того чтобы линейная система являлась
совместной, необходимо и достаточно,
что бы ранг расширенной матрицы этой
системы был равен рангу ее основной
матрицы.
Определение и виды элементарных преобразований
Элементарными называются такие преобразования матрицы, при которых сохраняется эквивалентность матриц (из-за этого их часто называют эквивалентными). Другими словами такие преобразования не меняют множество решений СЛАУ, которая представлена данной матрицей.
Элементарные преобразования применяются в метода Гаусса, чтобы привести матрицу к треугольному или ступенчатому виду.
К элементарным преобразованиям относятся:
- перестановка двух любых строк местами;
- умножение любой строки на ненулевую константу;
- сумма двух любых строк, одна из которых умножена на определенное ненулевое число.
Примечание: аналогичные действия применимы и к столбцам матрицы.
Матрицы A и B являются эквивалентными, если B получена путем элементарных преобразований A (или наоборот). Для обозначения эквивалентности используется специальный символ – “
Нахождение ранга матрицы методом Гаусса (с помощью элементарных преобразований)
Вспомните, что такое элементарные преобразования.
Элементарные преобразования:
- путем перестановки строк (столбцов) матрицы;
- путем умножения всех элементов любой строки (столбца) матрицы на произвольное ненулевое число k;
добавлением к элементам любой строки (столбца) элементов, соответствующих другой строке (столбцу) матрицы, которая умножается на произвольное число k.
Определение 5
нахождение ранга матрицы методом Гаусса — это метод, основанный на теории матричной эквивалентности: если матрица B получается из матрицы A с помощью конечного числа элементарных преобразований, то Rank(A) = Rank(B).
Справедливость этого утверждения следует из определения матрицы:
- при перестановке строк или столбцов матрицы ее определитель меняет знак. Если он равен нулю, он остается равным нулю при перестановке строк или столбцов;
- в случае умножения всех элементов любой строки (столбца) матрицы на произвольное число k, не равное нулю, определитель полученной матрицы равен определителю исходной матрицы, который равен умножается на к;
в случае сложения элементов одной строки или столбца матрицы соответствующие элементы другой строки или столбца, умноженные на число k, не изменяют его определителя.
Суть метода элементарных преобразований: с помощью элементарных преобразований привести матрицу, ранг которой необходимо найти, к трапециевидной.
За что?
Ранг матриц этого типа находится довольно легко. Он равен количеству строк, в которых есть хотя бы один ненулевой элемент. А так как при элементарных преобразованиях ранг не меняется, то это и будет ранг матрицы.
Проиллюстрируем этот процесс:
для прямоугольных матриц A порядка p на n, где количество строк больше количества столбцов:
А~1b12b13⋯b1n-1b1n01b23⋯b2n-2b2n⋮⋮⋮⋮⋮⋮000⋯1bn-1n000⋯01000⋯00⋮⋮⋮⋮0, Ранг
или
А~1b12b13⋯b1kb1k+1⋯b1n01b23⋯b2kb2k+1⋯b2n⋮⋮⋮⋮⋮⋮⋮⋮000⋯1bkk+1⋯bkn000⋯)⋯bkn000⋯=Ra
для прямоугольных матриц A порядка p на n, где количество строк меньше количества столбцов:
А~1b12b13⋯b1pb1p+1⋯b1n01b23⋯b2pb2p+1⋯b2n⋮⋮⋮⋮⋮⋮⋮⋮000⋯1bpp+1⋯bpn, Ранг(A)=p
или
A~1b12b13⋯b1kb1k+1⋯b1n01b23⋯b2kb2k+1⋯b2n⋮⋮⋮⋮⋮⋮⋮⋮000⋯1bkk+1⋯bkn000⋮⋮⋯⋮⋮⋯00
для квадратных матриц A порядка n на n:
А~1b12b13⋯b1n-1b1n01b23⋯b2n-1b2n⋮⋮⋮⋮⋮⋮000⋯1bn-1n000⋯01, ранг(A)=n
или
00000000 А)=к, к<>
Пример 5
Найдем ранг матрицы A с помощью элементарных преобразований:
А=21-26300-11-12-75-24-1572-411
Как решить?
Поскольку элемент a11 отличен от нуля, необходимо умножить элементы первой строки матрицы A на 1a11=12:
А=21-26300-11-12-75-24-1572-411~
Мы добавляем элементы в строке 2 к соответствующим элементам в строке 1, которые умножаются на (-3). К элементам в строке 3 мы добавляем элементы в строке 1, которые умножаются на (-1):
~A(1)=112-13300-11-12-75-24-1572-411~A(2)==112-133+1(-3)0+12(-3)0+(-1) (-3)-1+3(-3)1+1(-3)-1+12(-3)2+(-1)(-1)-7+3(-1)5+1(- 5)-2+12(-5)4+(-1)(-5)-15+3(-5)7+1(-7)2+12(-7)-4+(-1)(-7)11+3(-7)=
=112-130-323-100-323-100-929-300-323-10
Элемент a22(2) отличен от нуля, поэтому умножаем элементы второй строки матрицы A на A(2) на 1a22(2)=-23:
А(3)=112-1301-22030-323-100-929-300-323-10~А(4)=112-1301-22030-32+1323+(-2)32-10+203×320- 92+1929+(-2)92-30+203×920-32+1323+(-2)32-10+203×32==112-1301-220300000000000000
- К элементам третьей строки полученной матрицы добавляем соответствующие элементы второй строки, которые умножаются на 32;
- к элементам 4-й строки — элементы 2-й строки, которые умножаются на 92;
- к элементам 5-й строки — элементы 2-й строки, которые умножаются на 32.
Все элементы строки равны нулю. Таким образом, с помощью элементарных преобразований мы привели матрицу к форме трапеции, из чего видно, что Rank (A(4))=2 . Отсюда следует, что ранг исходной матрицы также равен двум.
Комментарий
При выполнении элементарных преобразований приблизительные значения не допускаются!
Уровень 1
Задание 1. Найдите ранг матрицы А с помощью Excel.
Рисунок 1. Исходная матрица
Ход решения.
- Первую строку оставляем без изменений. Скопируйте первую строку в ячейки B6:E6.
- Чтобы избежать появления дробей, умножим вторую, третью и четвертую строки на 2. Для этого введите в ячейку B7 формулу =2*B2. Скопируйте эту форму с помощью маркера заполнения в ячейки B7:E9 (Маркер заполнения — небольшой черный квадрат в правом нижнем углу ячейки. При наведении на него курсор принимает вид черного креста.). В результате должна получиться матрица А1 (рис.2).
Рисунок 2. 2-я,3-я,4-я строки умножены на 2.
- Первую строку оставим без изменения (скопируйте в ячейки B11:E11).
- В ячейку B12 внесите формулу =B7+B$6*(-$B7/$B$6). Скопируйте эту формулу в ячейки C12:E14 с помощью маркера заполнения. В итоге имеем матрицу А2 (рис.3)
Рисунок 3. Матрица А2
- Переходим к вычислению матрицы А3. Первую и вторую строки оставляем без изменения. Для этого выделите ячейки B11:E12, нажмите кнопку «Копировать», далее выделите ячейку B16 и в контекстном меню ячейки выберите «Специальная вставка». В открывшемся окне выберите пункт «значения» (рис.4) и нажмите ОК. В результате будут скопированы только значения ячеек, без формул.
Рисунок 4. Специальная вставка
- В ячейку С18 внесите формулу =C$12*(-$C13/$C$12)+C13. Скопируйте эту формулу в ячейки B18:E19 с помощью маркера заполнения. В итоге имеем матрицу А3 (рис.5)
Рисунок 5. Матрица А3
- Поменяйте местами третий и четвертый столбцы (используйте копирование и специальную ставку значений).
Рисунок 6. Матрица А4 — результирующая Ответ: Базисный минор матрицы А4 стоит в первых трех столбцах и первых трех строках, . Следовательно, r(A)=3. Рисунок 7. Общий вид листа вычисления Рисунок 8. Для проверки формул
Сокращение строк с помощью калькулятора TI83 или TI84 (rref)
Сокращение строки матрицы может помочь нам найти решение системы уравнений (в случае расширенных матриц), понять свойства набора векторов и многое другое
Знание того, как использовать операции со строками для уменьшения матрицы вручную, важно, но во многих случаях нам просто нужно знать, как выглядит уменьшенная матрица
Мы пройдем шаги, используя эту матрицу: 9-1], чтобы войти в матричное меню
Обратите внимание, что на некоторых старых калькуляторах есть кнопка с простой надписью . Нажимайте стрелку вправо, пока не окажетесь в меню EDIT
Нажмите и теперь вы можете редактировать матрицу A.
Шаг 2: Введите вашу матрицу в калькулятор.
Первая информация, которую вас спросят, это размер матрицы. Эта матрица имеет 3 строки и 3 столбца, так что это матрица 3 х 3. Введите эти числа, нажимая после каждого.
Теперь нажмите , чтобы выбрать матрицу A.
Закройте скобки, нажав и затем нажав , чтобы получить уменьшенную матрицу.
(примечание: вам не нужно закрывать скобки, чтобы это работало, но это хорошая привычка — или, может быть, просто не закрывая скобки сводит меня с ума… один из тех.
Математические операции
К массивам (матрицам) можно применять известные вам математические
операции. Следут понимать, что при этом у элементов должны быть схожие
размерности. Поведение в случае не совпадения размерностей хорошо
описанно в документации numpy.
x = np.array(,], dtype=np.float64) y = np.array(,], dtype=np.float64) arr = np.array()
# Сложение происходит поэлеметно # # ] print(x + y) print() print(np.add(x, y)) print('С числом') print(x + 1) print('C массивом другой размерности') print(x + arr)
] ] С числом ] C массивом другой размерности ]
# Вычитание print(x - y) print(np.subtract(x, y))
] ]
# Деление # # ] print(x y) print(np.divide(x, y))
] ]
# Другие функции # # ] print(np.sqrt(x))
Основные теоремы.
Из утверждения 1 прямо следует теорема о ранге матрицы:
Теорема 1.
Ранг любой матрицы равен ее строчному рангу и ее столбцовому рангу.
Действительно, если строчный ранг A равен r, то в A найдется линейно независимая система из r строк, а значит, и невырожденная подматрица порядка r. Если при этом есть p > r различных строк A, то они линейно зависимы, и любая подматрица порядка p в них вырождена. Столбцовый ранг равен строчному рангу A^{T}, значит, и рангу A^{T}, а потому — рангу A.
Таким образом, мы видим, что все три определения на самом деле определяют одно и то же число, и впредь не будем их различать. Будем говорить ранг матрицы и обозначать его \mathbf{Rg}\,A.
Из теоремы о ранге матрицы мы получаем теорему о базисном миноре, на которую существенно опирается все дальнейшее изложение. Слово “минор” означает “детерминант подматрицы”. В частности, базисный минор — это детерминант базисной подматрицы. О детерминантах будет речь в следующем параграфе, а здесь это слово можно воспринимать просто как составную часть названия теоремы.
Теорема 2.
Каждый столбец матрицы раскладывается в линейную комбинацию ее базисных столбцов.
Каждый из базисных столбцов, разумеется, раскладывается по базисным: для этого достаточно взять его самого с коэффициентом 1, а остальные с нулевыми коэффициентами.
Пусть теперь \boldsymbol{a}_{j} — не базисный столбец. Базисные столбцы обозначим через \boldsymbol{a}_{i_{1}},…, \boldsymbol{a}_{i_{r}}. По теореме о ранге матрицы любые r+1 столбцов линейно зависимы, и найдутся такие коэффициенты, что \alpha_{1}\boldsymbol{a}_{i_{1}}+…+\alpha_{r}\boldsymbol{a}_{i_{r}}+\alpha \boldsymbol{a}_{j}=\boldsymbol{o}. При этом мы можем быть уверены, что \alpha \neq 0, так как иначе это равенство означало бы линейную зависимость базисных столбцов. Деля на \alpha, мы получаем нужное нам разложение \boldsymbol{a}_{j}=-\alpha^{-1}\alpha_{1}\boldsymbol{a}_{i_{1}}-…-\alpha^{-1}\alpha_{r}\boldsymbol{a}_{i_{r}}.
Следствие.
Каждая строка матрицы раскладывается по ее базисным строкам.
Векторы, вектор-строки и вектор-столбцы
Следующие два способа задания массива кажутся одинаковыми:
a = np.array() b = np.array(, 2], 3]])
Однако, на самом деле, это задание одномерного массива (то есть
вектора) и двумерного массива:
print ("Вектор:\n", a) print ("Его размерность:\n", a.shape) print ("Двумерный массив:\n", b) print ("Его размерность:\n", b.shape)
Вектор: Его размерность: (3,) Двумерный массив: ] Его размерность: (3, 1)
Обратите внимание: вектор (одномерный массив) и вектор-столбец
или вектор-строка (двумерные массивы) являются различными объектами в
NumPy, хотя математически задают один и тот же объект. В случае
одномерного массива кортеж shape состоит из одного числа и имеет
вид (n,), где n — длина вектора
В случае двумерных
векторов в shape присутствует еще одна размерность, равная
единице.
В большинстве случаев неважно, какое представление использовать, потому
что часто срабатывает приведение типов. Но некоторые операции не
работают для одномерных массивов
Например, транспонирование (о нем
пойдет речь ниже):
a = a.T b = b.T
print ("Вектор не изменился:\n", a) print ("Его размерность также не изменилась:\n", a.shape) print ("Транспонированный двумерный массив:\n", b) print ("Его размерность изменилась:\n", b.shape)
Определение ранга матрицы.
Определение
Пусть в матрице A существует линейно независимая система из r строк, и нет линейно независимой системы из большего числа строк. Тогда мы будем говорить, что строчный ранг матрицы A равен r. Нулевая матрица не содержит никакой линейно независимой системы строк, и ее строчный ранг по определению равен нулю.
Аналогично определяется столбцовый ранг матрицы. Он равен r_{1}, если есть линейно независимая система из r_{1} столбцов, и нет линейно независимой системы из большего числа столбцов. Столбцовый ранг нулевой матрицы по определению равен нулю.
Утверждение 1.
Система из r строк линейно независима тогда и только тогда, когда в этих строках найдется невырожденная подматрица порядка r.
1^{\circ}. Пусть r строк линейно зависимы. Рассмотрим произвольную подматрицу порядка r, расположенную в этих строках. Если строки линейно зависимы, то также линейно зависимы (с теми же коэффициентами) и отрезки этих строк, составляющие подматрицу, и подматрица является вырожденной.
2^{\circ}. Обратное утверждение докажем по индукции. Одна строка линейно независима, если она не нулевая. В этом случае она содержит ненулевой элемент, составляющий невырожденную подматрицу порядка 1.
Пусть теперь даны r линейно независимых строк. Первые r-1 из них также линейно независимы, и по предположению индукции содержат невырожденную подматрицу порядка r-1. Пусть j_{1},…, j_{r-1} — номера столбцов этой подматрицы. Рассмотрим отрезок r-й строки, расположенный под подматрицей, то есть составленный из элементов с номерами j_{1},…, j_{r-1}. По следствию из этот отрезок раскладывается в линейную комбинацию строк подматрицы. Коэффициенты этой линейной комбинации обозначим \alpha_{1},…, \alpha_{r-1}.
Теперь будем рассматривать полные строки. Вычтем из последней строки линейную комбинацию предыдущих с теми же коэффициентами \alpha_{1},…, \alpha_{r-1}. Это обратит в нуль j_{1},…, j_{r-1}-й элементы r-й строки, но не всю строку, так как строки линейно независимы. Таким образом, в преобразованной r-й строке есть ненулевой элемент a_{j}^{r}, и его номер j отличен от номеров j_{1},…, j_{r-1}.
В преобразованной матрице рассмотрим столбцы, имеющие номера j_{1},…, j_{r-1}, j. (Мы для удобства пишем j на последнем месте, хотя в действительности столбцы располагаются в порядке возрастания номеров.) Легко видеть, что эти столбцы линейно независимы. Действительно, пусть \tag{1} \alpha_{1}\boldsymbol{a}_{j_{1}}+…+\alpha_{r-1}\boldsymbol{a}_{j_{r-1}}+\alpha \boldsymbol{a}_{j}=\boldsymbol{o} их нулевая линейная комбинация. Тогда для последних элементов столбцов \alpha_{1}0+…+\alpha_{r-1}0+\alpha a_{j}^{r}=0. Так как a_{j}^{r} \neq 0, отсюда следует \alpha=0, и мы получаем \alpha_{1}\boldsymbol{a}_{j_{1}}+…+\alpha_{r-1}\boldsymbol{a}_{j_{r-1}}=\boldsymbol{o}. Если бы среди коэффициентов этой линейной комбинации были отличные от нуля, то столбцы с номерами j_{1},…, j_{r-1} были бы линейно зависимы. Это противоречило бы тому, что исходная подматрица порядка n-1 невырождена. Таким образом, все коэффициенты в равны нулю, и столбцы с номерами j_{1},…, j_{r-1}, j линейно независимы. Отсюда следует, что составленная ими подматрица порядка r невырождена.
Невырождена соответствующая подматрица и в непреобразованной матрице, так как элементарными преобразованиями мы превратили ее в невырожденную матрицу. Это заканчивает доказательство.
Определение
В матрице A размеров m \times n подматрица порядка r называется базисной, если она невырождена, а все квадратные подматрицы большего порядка, если они существуют, вырождены.
Столбцы и строки матрицы A, на пересечении которых стоит базисная подматрица, называются базисными столбцами и строками A.
В силу утверждения 1 базисные столбцы и строки линейно независимы.
Определение
Рангом матрицы называется порядок базисной подматрицы или, иначе, самый большой порядок, для которого существуют невырожденные подматрицы. Ранг нулевой матрицы по определению считают нулем.
Отметим два очевидных свойства ранга.
Свойство 1
\bullet Ранг матрицы не меняется при транспонировании, так как при транспонировании матрицы все ее подматрицы транспонируются, и при этом невырожденные подматрицы остаются невырожденными, а вырожденные — вырожденными.
Свойство 2
\bullet Если A’ — подматрица матрицы A, то ранг A’ не превосходит ранга A, так как любая невырожденная подматрица, входящая в A’, входит и в A.