Линейная алгебра
Ранг, ядро и обратимость
Сколько решений у системы — вопрос не про числа, а про то, что отображение делает с размерностями
Обратимость — это про биекцию
Матрица обратима, если существует с . Но определение через формулу скрывает смысл. Обратимость — это ровно то же, что биективность отображения: у каждого выхода есть единственный вход.
Отсюда сразу следует, что обратимой может быть только квадратная матрица. Отображение не может быть инъективным — три измерения не влезают в два без склейки. Отображение не может быть сюръективным — двумерный образ не заполнит трёхмерное пространство.
Потяните столбцы и посмотрите, что происходит с сеткой. Пока параллелограмм имеет площадь, отображение обратимо. Как только столбцы становятся коллинеарными, вся плоскость схлопывается в прямую:
- определитель
- 1
- ранг
- 2
Ядро и образ
Два подпространства, через которые описывается всё остальное:
- Образ — куда отображение попадает. Это span столбцов, как мы видели в прошлом уроке.
- Ядро — что отображение убивает.
Ранг — размерность образа. Дефект (nullity) — размерность ядра. Они связаны законом сохранения:
Каждое измерение входа либо выживает в
Сколько решений у системы
Теперь вопрос «сколько решений у » разбирается механически. Возможны ровно три случая:
- Ни одного. . Система несовместна — мы просим отображение попасть туда, куда оно не попадает.
- Ровно одно. и тривиально.
- Бесконечно много. , но ядро непусто.
Третий случай стоит записать явно, потому что он объясняет структуру ответа. Если и , то
Множество решений — это : одно частное решение плюс всё ядро. Не подпространство, а сдвинутое подпространство — снова та же разница, что между подпространством и аффинным множеством.
«Два уравнения, два неизвестных — одно решение» верно только в общем положении. Именно вырожденные случаи ломают наивный код, и именно поэтому численные библиотеки возвращают ранг, а не бросают исключение.
Критерии обратимости — это всё одно утверждение
Для квадратной размера равносильно:
- обратима;
- ;
- ;
- ;
- столбцы линейно независимы;
- имеет ровно одно решение при любом .
Не шесть фактов, а шесть способов сказать «отображение не теряет измерений». Запоминать по отдельности не нужно; полезно уметь переходить от любого к любому.
Блочные матрицы
Матрицу можно резать на блоки и умножать блоками, как если бы блоки были числами — при условии, что размерности внутри сходятся:
Это не техническая мелочь. Ровно так читается multi-head attention: одна большая матрица проекции — это блоки по головам, и умножение на неё это независимые умножения в каждой голове. И ровно так работают batched-операции: батч — это блочно-диагональная структура, которую никто не выписывает целиком.
Что стоит унести
Ранг — не свойство таблицы чисел, а число измерений, которые отображение сохраняет. Обратимость — не наличие формулы для , а отсутствие потерь. В коде это выглядит как разница между «система решена» и «система решена с точностью до ядра», и путать их дорого.
Источники
- 3Blue1Brown — Essence of Linear Algebra, эпизоды 6–8 — Определитель, обратная матрица, ранг и нулевое пространство
- Deisenroth, Faisal, Ong — Mathematics for Machine Learning, гл. 2.3 и 2.6 — Системы линейных уравнений, образ и ядро, теорема о ранге
Проверки
0 из 2Что следует из ранга
Матрица имеет размер и . Отметьте все верные утверждения.
Ранг через исключение
Реализуйте
matrix_rank(m)— ранг матрицы, заданной списком строк.Метод прямой: приводите матрицу к ступенчатому виду методом Гаусса и считайте ненулевые строки. На каждом шаге ищите в текущем столбце ненулевой элемент, меняйте строки местами и вычитайте.
Требования:
- матрица не обязательно квадратная;
- у матрицы без строк ранг
0; - элементы целые, но после вычитаний появятся дроби — сравнивайте с нулём
через
abs(x) < 1e-9, а не через== 0.
Ведущий элемент стоит выбирать наибольшим по модулю в столбце: на целых входах это не обязательно, но именно так делают численные библиотеки, и причина станет ясна в уроке про обусловленность.
Загрузка редактора…
Ctrl/⌘ + Enter