Сколько информации в матрице?

Матрица A = [[1, 2, 3], [2, 4, 6], [0, 1, 1]]. Три строки, три столбца — казалось бы, полноценная матрица 3×3.

Задача: посмотрите внимательно на первые две строки. Есть ли между ними связь? Сколько «по-настоящему разных» строк в этой матрице?

Матрица 3×3 может нести в себе три независимых направления. А может — два или даже одно. Ранг — это число, которое говорит: «сколько направлений на самом деле». Вспомните метод Гаусса. Когда мы приводим матрицу к ступенчатому виду, некоторые строки могут обнулиться — значит, они были комбинациями других. То, что осталось, — и есть независимая часть.

Возьмём матрицу из задачи:

A = [[1, 2, 3],
     [2, 4, 6],
     [0, 1, 1]]

Приведём к ступенчатому виду. Строка₂ − 2·строка₁:

[[1, 2, 3],
 [0, 0, 0],
 [0, 1, 1]]

Вторая строка обнулилась — она была просто удвоенной первой. Поменяем строки 2 и 3:

[[1, 2, 3],
 [0, 1, 1],
 [0, 0, 0]]

Две ненулевые строки. Ранг = 2.

Ранг строк всегда равен рангу столбцов — это неочевидный, но доказанный факт. Поэтому говорят просто «ранг матрицы», без уточнений. Ранг напрямую связан с тем, что мы уже знаем:

Матрица n×n:
  ранг = n  →  det ≠ 0  →  обратимая  →  система A·x = b имеет единственное решение
  ранг < n  →  det = 0  →  необратимая →  решение не единственно

Это всё тот же факт, просто с разных сторон. Определитель ноль — столбцы зависимы — ранг меньше размера — обратной нет. Четыре формулировки одного явления.

Для прямоугольных матриц (не квадратных) определителя нет, но ранг есть. Он работает всегда. Самое практичное применение ранга — теорема Кронекера-Капелли. Она даёт полный ответ: сколько решений у системы?

Дана система A·x = b. Расширенная матрица — это A с приписанным столбцом b: [A|b].

rank(A) ≠ rank([A|b])  →  решений нет
rank(A) = rank([A|b]) = число неизвестных  →  одно решение
rank(A) = rank([A|b]) < число неизвестных  →  бесконечно много

Разберём на примере. Система:

x + y + z = 6
x + y + z = 9

Расширенная матрица:

[[1, 1, 1 | 6],
 [1, 1, 1 | 9]]

Строка₂ − строка₁:

[[1, 1, 1 | 6],
 [0, 0, 0 | 3]]

Матрица A (без правой части) имеет 1 ненулевую строку → rank(A) = 1. Расширенная матрица [A|b] имеет 2 ненулевые строки → rank([A|b]) = 2. Ранги не совпали → решений нет. Логично: оба уравнения говорят «x + y + z = что-то», но «что-то» разное — 6 и 9 одновременно не бывает.

Другой пример:

x + y = 3
2x + 2y = 6
[[1, 1 | 3],
 [0, 0 | 0]]

rank(A) = 1, rank([A|b]) = 1 — совпали. Число неизвестных = 2 > 1. Значит бесконечно много решений: y = 3 − x, где x — любое.

Ранг — одно из самых универсальных понятий линейной алгебры. Он появляется везде:

В анализе данных ранг матрицы данных говорит, сколько в ней «настоящих» измерений. Таблица с 100 столбцами может иметь ранг 5 — значит, все данные фактически живут в пятимерном подпространстве, остальные 95 столбцов — комбинации первых пяти.

В сжатии изображений: фотография — это матрица пикселей. Её ранг обычно гораздо меньше размера. Можно приблизить матрицу рангом 50 — и картинка почти не изменится, но займёт в разы меньше памяти. Ещё один пример — крайний случай. Все строки пропорциональны:

D = [[1, 2],
     [3, 6],
     [5, 10]]

Строка₂ = 3·строка₁, строка₃ = 5·строка₁. Приведём:

строка₂ − 3·строка₁ = (0, 0)
строка₃ − 5·строка₁ = (0, 0)

[[1, 2],
 [0, 0],
 [0, 0]]

Ранг = 1. Три строки, но информации — на одну. Вся матрица — это одна строка (1, 2), повторённая с разными множителями. Три точки на одной прямой в двумерном пространстве.

Обратите внимание: ранг не может быть больше min(строки, столбцы). Матрица 3×2 имеет ранг не больше 2. Матрица 2×5 — не больше 2. С рангом связана ещё одна важная величина — дефект (или нульность). Это размерность множества решений однородной системы A·x = 0.

Теорема о ранге и дефекте:

rank(A) + дефект(A) = число столбцов

Если у матрицы 5 столбцов и ранг 3, то дефект = 2. Это значит: однородная система A·x = 0 имеет двумерное пространство решений — два «направления свободы».

Дефект = 0 означает: единственное решение A·x = 0 — нулевой вектор. Столбцы независимы. Матрица обратима (если квадратная).

Дефект > 0 означает: есть ненулевые решения. Столбцы зависимы. Матрица необратима.

Это ещё одна грань того же явления: ранг, определитель, обратимость, линейная зависимость — всё связано в один узел.

Ранг матрицы — число ненулевых строк в ступенчатом виде. Показывает, сколько независимой информации в матрице.

Кронекер-Капелли: rank(A) ≠ rank([A|b]) → нет решений. Равны и = числу неизвестных → одно. Равны и < числа неизвестных → бесконечно много.

Связь: rank(A) = n ⟺ det(A) ≠ 0 ⟺ A обратима (для квадратных n×n).

Обсуждение урока

0
Комментарии видны всем. Чтобы участвовать в обсуждении, войдите или зарегистрируйтесь.
Модерация сообщества

Пожаловаться на комментарий

Расскажите модераторам, что именно требует внимания.