Миноры и алгебраические дополнения ♟️
В прошлом уроке ты научился вычислять определители матриц $2\times2$ и $3\times3$ — там всё укладывалось в компактные формулы вроде правила треугольников. А что делать с матрицей $5\times5$ или $10\times10$? Специальной "формулы треугольников" для них уже не существует. Нужен универсальный метод, который работает для матрицы любого порядка $n$.
Именно это и дают миноры и алгебраические дополнения — механизм, который сводит определитель большой матрицы к определителям матриц поменьше, а те, в свою очередь, к ещё меньшим, пока не останутся тривиальные $2\times2$ или $1\times1$. Это классический приём "разделяй и властвуй", только применённый к линейной алгебре за полтора века до того, как это словосочетание стало модным в информатике.
Представь, что определитель — это рецепт сложного блюда, а минор — способ приготовить его из более простых ингредиентов, каждый из которых сам по себе — маленький рецепт. Освоив миноры и алгебраические дополнения, ты получишь не просто "ещё один способ посчитать определитель" — ты получишь ключ к следующей теме курса: обратной матрице. Именно из алгебраических дополнений строится матрица, которая позволяет "развернуть" любое обратимое линейное преобразование.
В ML эта тема — не абстракция ради абстракции. Каждый раз, когда нейросеть проверяет обратимость матрицы весов, когда PCA ищет собственные векторы ковариационной матрицы, когда алгоритм оптимизации анализирует гессиан функции потерь — где-то под капотом либо явно, либо через более быстрые численные методы работает именно эта конструкция: разложение определителя по строке или столбцу.
История: откуда это взялось?
Идею раскладывать определитель на более мелкие кусочки первым чётко сформулировал французский математик Пьер-Симон Лаплас в 1772 году — на целых сорок лет раньше, чем принято думать, глядя на классические учебники, где имя Лапласа чаще всего связывают с небесной механикой и знаменитым демоном. В работе "Recherches sur le calcul intégral aux différences infiniment petites" Лаплас показал, как определитель матрицы произвольного порядка можно выразить через определители матриц меньшего порядка, домноженные на элементы исходной матрицы со знаком. Именно поэтому метод раскладки определителя по строке или столбцу до сих пор называют методом (или теоремой) Лапласа.
Забавно, что до Лапласа определители уже использовались — их изучали Габриэль Крамер и даже Готфрид Лейбниц в конце XVII века, но именно Лаплас придал вычислению строгую рекурсивную структуру: определитель матрицы $n\times n$ выражается через определители матриц $(n-1)\times(n-1)$. Термин же "минор" (от латинского minor — "меньший") закрепился позже, в XIX веке, в работах английских алгебраистов — Джеймса Джозефа Сильвестра и Артура Кэли, которые систематизировали язык теории матриц. Кэли, кстати, одним из первых явно ввёл матрицу как самостоятельный объект (а не просто "таблицу коэффициентов"), и миноры естественно вписались в этот новый формализм.
К концу XIX века конструкция "минор со знаком" получила устоявшееся название алгебраическое дополнение (в англоязычной традиции — cofactor, "кофактор"). Знак $(-1)^{i+j}$ оказался не произвольным украшением, а прямым следствием формулы определителя через перестановки — того самого правила чётности перестановок, о котором шла речь в разговоре про свойства определителей. Сегодня, спустя два с половиной века, разложение Лапласа остаётся стандартной темой в любом курсе линейной алгебры именно потому, что оно не просто "ещё один способ посчитать число" — это концептуальный мост между определителем, обратной матрицей и понятием ранга.
Что такое минор: убираем строку и столбец
Интуиция
Представь, что у тебя есть таблица данных (матрица) — например, веса связей в маленькой нейросети. Тебе нужно понять, что получится, если "заблокировать" один нейрон входного слоя и один нейрон выходного слоя — убрать соответствующую строку и соответствующий столбец из таблицы. То, что останется — матрица чуть меньшего размера — и есть минор.
Другая аналогия: представь таблицу игры "морской бой" $n\times n$. Минор $M_{ij}$ — это то, что получится, если физически вырезать $i$-ю строку и $j$-й столбец, а оставшиеся клетки сдвинуть друг к другу, "затянув дыру". Размер получившейся таблицы — уже не $n\times n$, а $(n-1)\times(n-1)$, а определитель этой уменьшенной таблицы и называют минором.
Определение: Пусть $A$ — квадратная матрица размера $n\times n$. Минором $M_{ij}$, соответствующим элементу $a_{ij}$, называется определитель матрицы порядка $(n-1)\times(n-1)$, полученной из $A$ вычёркиванием $i$-й строки и $j$-го столбца.
Важно с самого начала не путать две вещи: минор $M_{ij}$ — это число (определитель уменьшенной матрицы), а не сама уменьшенная матрица. Матрицу без строки и столбца иногда называют "дополнительной подматрицей", а минором — уже результат вычисления её определителя.
Пример 1 (лёгкий): минор матрицы $3\times3$
Дана матрица:
$$ A = \begin{pmatrix} 1 & 3 & 2 \\ 4 & 1 & 5 \\ 2 & 6 & 1 \end{pmatrix} $$Найдём минор $M_{11}$ — вычёркиваем 1-ю строку и 1-й столбец:
$$ M_{11} = \begin{vmatrix} 1 & 5 \\ 6 & 1 \end{vmatrix} = 1 \cdot 1 - 5 \cdot 6 = 1 - 30 = -29 $$Проверь глазами: мы убрали строку $(1, 3, 2)$ и столбец, начинающийся с $1$, — осталась таблица $2\times2$ из элементов, которые не находятся ни в первой строке, ни в первом столбце. Никакой магии — только аккуратное вычёркивание.
Пример 2 (средний): минор матрицы $4\times4$
Теперь возьмём матрицу побольше:
$$ B = \begin{pmatrix} 2 & 0 & 1 & 3 \\ 1 & 4 & 0 & 2 \\ 3 & 1 & 2 & 0 \\ 0 & 2 & 1 & 4 \end{pmatrix} $$Найдём минор $M_{23}$ — вычёркиваем 2-ю строку и 3-й столбец. Останутся строки 1, 3, 4 и столбцы 1, 2, 4:
$$ M_{23} = \begin{vmatrix} 2 & 0 & 3 \\ 3 & 1 & 0 \\ 0 & 2 & 4 \end{vmatrix} $$Раскладываем этот определитель $3\times3$ по первой строке (мы уже умеем это делать из прошлого урока):
$$ M_{23} = 2\begin{vmatrix} 1 & 0 \\ 2 & 4 \end{vmatrix} - 0\begin{vmatrix} 3 & 0 \\ 0 & 4 \end{vmatrix} + 3\begin{vmatrix} 3 & 1 \\ 0 & 2 \end{vmatrix} = 2(4-0) - 0 + 3(6-0) = 8 + 18 = 26 $$Значит, $M_{23} = 26$. Обрати внимание: минор матрицы $4\times4$ сам оказался определителем матрицы $3\times3$, который мы уже посчитали "старым" методом. Это и есть суть рекурсии — большая задача сводится к чуть меньшей такой же задаче.
Пример 3 (сложный): "ловушка" с нулевым минором
Вернёмся к той же матрице $B$ и найдём минор $M_{31}$ — вычёркиваем 3-ю строку и 1-й столбец. Остаются строки 1, 2, 4 и столбцы 2, 3, 4:
$$ M_{31} = \begin{vmatrix} 0 & 1 & 3 \\ 4 & 0 & 2 \\ 2 & 1 & 4 \end{vmatrix} $$Разложим по первой строке:
$$ M_{31} = 0\begin{vmatrix} 0 & 2 \\ 1 & 4 \end{vmatrix} - 1\begin{vmatrix} 4 & 2 \\ 2 & 4 \end{vmatrix} + 3\begin{vmatrix} 4 & 0 \\ 2 & 1 \end{vmatrix} $$$$ = 0 - 1(16-4) + 3(4-0) = -12 + 12 = 0 $$Получили $M_{31} = 0$. Это не ошибка и не признак того, что вся матрица $B$ вырождена — просто конкретная тройка строк $1,2,4$ без столбца $1$ оказалась линейно зависимой. Минор — локальная характеристика конкретного "среза" матрицы, а не всей матрицы целиком. Именно на такой путанице чаще всего спотыкаются студенты, и мы вернёмся к ней в разделе про частые ошибки.
Почему это важно
Минор — это не самоцель, а строительный блок. Ты не будешь вычислять миноры "просто чтобы посчитать" — они нужны как промежуточный шаг для алгебраического дополнения и разложения определителя, а в перспективе — для построения обратной матрицы (об этом в следующем уроке) и для вычисления ранга матрицы, что напрямую используется в проверке линейной независимости признаков в датасете, в анализе матрицы Якоби при обучении нейросетей и в диагностике мультиколлинеарности в регрессионных моделях.
Алгебраическое дополнение: минор со знаком
Интуиция
Возьми шахматную доску: клетки чередуются, белая-чёрная-белая-чёрная. Если пронумеровать клетки индексами $(i, j)$, начиная с $(1,1)$ в верхнем левом углу, то чётность суммы $i+j$ однозначно определяет цвет клетки. Ровно так же устроен знак алгебраического дополнения: если $i+j$ чётно — знак плюс, если нечётно — минус.
$$ \begin{pmatrix} + & - & + & - \\ - & + & - & + \\ + & - & + & - \\ - & + & - & + \end{pmatrix} $$Представь, что каждый минор — это "сырое" число, а знак $(-1)^{i+j}$ — это упаковка, которая говорит определителю, с каким весом учитывать этот кусочек: с плюсом или с минусом. Без этой упаковки формула разложения определителя попросту не работала бы — знаки должны компенсировать перестановки строк и столбцов, стоящие за формальным определением определителя через сумму по перестановкам.
Определение: Алгебраическим дополнением (кофактором) элемента $a_{ij}$ квадратной матрицы $A$ называется число
$$ > A_{ij} = (-1)^{i+j} \cdot M_{ij}, > $$где $M_{ij}$ — минор, соответствующий этому элементу.
Пример 1 (лёгкий): алгебраическое дополнение с плюсом
Для матрицы $A$ из предыдущего раздела мы уже нашли $M_{11} = -29$. Индексы $i=1$, $j=1$, сумма $i+j=2$ — чётная, значит знак плюс:
$$ A_{11} = (-1)^{1+1} \cdot M_{11} = (+1)\cdot(-29) = -29 $$Здесь знак минора и алгебраического дополнения совпали — потому что позиция "белая" (по шахматной аналогии), знак не меняется.
Пример 2 (средний): алгебраическое дополнение со сменой знака
Найдём для той же матрицы $A$ минор $M_{32}$ — вычёркиваем 3-ю строку и 2-й столбец, остаются строки 1, 2 и столбцы 1, 3:
$$ M_{32} = \begin{vmatrix} 1 & 2 \\ 4 & 5 \end{vmatrix} = 1\cdot5 - 2\cdot4 = 5 - 8 = -3 $$Индексы $i=3$, $j=2$, сумма $i+j=5$ — нечётная, значит знак минус, и минус на минус даёт плюс:
$$ A_{32} = (-1)^{3+2}\cdot M_{32} = (-1)\cdot(-3) = 3 $$Смотри внимательно: сам минор был отрицательным ($-3$), а алгебраическое дополнение получилось положительным ($3$). Именно здесь чаще всего теряют минус — забывают, что итоговый знак определяется двумя множителями: знаком самого минора и знаком $(-1)^{i+j}$.
Пример 3 (сложный): алгебраическое дополнение в матрице $4\times4$
Вернёмся к матрице $B$ и найдём алгебраическое дополнение $A_{43}$. Сначала минор — вычёркиваем 4-ю строку и 3-й столбец, остаются строки 1, 2, 3 и столбцы 1, 2, 4:
$$ M_{43} = \begin{vmatrix} 2 & 0 & 3 \\ 1 & 4 & 2 \\ 3 & 1 & 0 \end{vmatrix} $$Раскладываем по первой строке:
$$ M_{43} = 2\begin{vmatrix} 4 & 2 \\ 1 & 0 \end{vmatrix} - 0\begin{vmatrix} 1 & 2 \\ 3 & 0 \end{vmatrix} + 3\begin{vmatrix} 1 & 4 \\ 3 & 1 \end{vmatrix} = 2(0-2) - 0 + 3(1-12) = -4 - 33 = -37 $$Индексы $i=4$, $j=3$, сумма $i+j=7$ — нечётная, знак минус:
$$ A_{43} = (-1)^{4+3}\cdot M_{43} = (-1)\cdot(-37) = 37 $$Двойная смена знака (сам минор отрицательный плюс нечётная позиция) дала в итоге положительное число — классическая ситуация, где легко ошибиться, если считать "в уме" без промежуточной записи знака.
Почему это важно
Алгебраическое дополнение — это именно та величина, которая входит в формулу разложения определителя (см. следующий раздел) и, что особенно важно для следующего урока, из алгебраических дополнений строится присоединённая (адъюнгированная) матрица, которая используется для вычисления обратной матрицы: $A^{-1} = \frac{1}{\det A} \cdot \operatorname{adj}(A)$. Если ты уверенно считаешь $A_{ij}$ — обратная матрица через два урока станет для тебя формальностью, а не откровением.
Разложение определителя по строке или столбцу: метод Лапласа
Интуиция
До сих пор мы считали миноры и алгебраические дополнения "по отдельности", как самостоятельные упражнения. Но их истинная цель — собрать из них определитель всей матрицы. Представь конвейер: берёшь любую строку (или столбец) матрицы, для каждого элемента этой строки вычисляешь алгебраическое дополнение, перемножаешь элемент на его алгебраическое дополнение и складываешь все произведения. Результат — определитель всей матрицы, причём неважно, какую строку или столбец ты выбрал для разложения: ответ всегда один и тот же.
Определение (теорема Лапласа): Для квадратной матрицы $A = (a_{ij})$ порядка $n$ определитель можно вычислить разложением по любой $i$-й строке:
$$ > \det(A) = \sum_{j=1}^{n} a_{ij}\, A_{ij} = a_{i1}A_{i1} + a_{i2}A_{i2} + \dots + a_{in}A_{in}, > $$или по любому $j$-му столбцу:
$$ > \det(A) = \sum_{i=1}^{n} a_{ij}\, A_{ij} = a_{1j}A_{1j} + a_{2j}A_{2j} + \dots + a_{nj}A_{nj}. > $$
Ключевое слово здесь — "любой". Ты можешь выбрать строку или столбец, наиболее удобные для вычислений (об этом подробно поговорим в разделе про лайфхаки), и результат не изменится. Более того, эта формула рекурсивно определяет определитель матрицы любого порядка $n$: чтобы посчитать $\det$ для $n\times n$, нужно посчитать $n$ определителей $(n-1)\times(n-1)$, каждый из которых сводится к определителям $(n-2)\times(n-2)$, и так далее — вплоть до элементарных случаев $2\times2$ или даже $1\times1$ (где определитель — это просто сам элемент).
Пример 1 (лёгкий): разложение по строке с нулём
$$ E = \begin{pmatrix} 2 & -1 & 3 \\ 0 & 4 & 1 \\ 5 & 2 & 0 \end{pmatrix} $$Заметь: во второй строке есть ноль ($a_{21}=0$) — значит, соответствующее слагаемое исчезнет само собой, и считать его алгебраическое дополнение вообще не нужно. Раскладываем по второй строке:
$$ \det(E) = a_{21}A_{21} + a_{22}A_{22} + a_{23}A_{23} = 0\cdot A_{21} + 4\cdot A_{22} + 1\cdot A_{23} $$Считаем нужные алгебраические дополнения. Знак при $(2,2)$: $i+j=4$ — плюс.
$$ A_{22} = +\begin{vmatrix} 2 & 3 \\ 5 & 0 \end{vmatrix} = (2\cdot0 - 3\cdot5) = -15 $$Знак при $(2,3)$: $i+j=5$ — минус.
$$ A_{23} = -\begin{vmatrix} 2 & -1 \\ 5 & 2 \end{vmatrix} = -(2\cdot2 - (-1)\cdot5) = -(4+5) = -9 $$Собираем:
$$ \det(E) = 4\cdot(-15) + 1\cdot(-9) = -60 - 9 = -69 $$Пример 2 (средний): разложение по столбцу
$$ F = \begin{pmatrix} 1 & 2 & 3 \\ 0 & -1 & 4 \\ 2 & 0 & 1 \end{pmatrix} $$Разложим по первому столбцу — там тоже есть ноль ($a_{21}=0$), это сэкономит нам работу:
$$ \det(F) = a_{11}A_{11} + a_{21}A_{21} + a_{31}A_{31} = 1\cdot A_{11} + 0 + 2\cdot A_{31} $$Знак при $(1,1)$: плюс.
$$ A_{11} = +\begin{vmatrix} -1 & 4 \\ 0 & 1 \end{vmatrix} = (-1\cdot1 - 4\cdot0) = -1 $$Знак при $(3,1)$: $i+j=4$ — плюс.
$$ A_{31} = +\begin{vmatrix} 2 & 3 \\ -1 & 4 \end{vmatrix} = (2\cdot4 - 3\cdot(-1)) = 8+3 = 11 $$Собираем:
$$ \det(F) = 1\cdot(-1) + 2\cdot11 = -1 + 22 = 21 $$Пример 3 (сложный): полное разложение матрицы $4\times4$ методом Лапласа
Это ключевой пример урока — покажем, как разложение работает для матрицы $4\times4$, не сводясь к укороченным трюкам "как для $3\times3$".
$$ C = \begin{pmatrix} 1 & 0 & 2 & 0 \\ 3 & 1 & 0 & 2 \\ 0 & 2 & 1 & 1 \\ 1 & 0 & 3 & 1 \end{pmatrix} $$Смотрим на все четыре строки и столбца в поисках наибольшего числа нулей. Первая строка $(1, 0, 2, 0)$ содержит целых два нуля из четырёх элементов — идеальный кандидат. Раскладываем именно по ней:
$$ \det(C) = a_{11}A_{11} + a_{12}A_{12} + a_{13}A_{13} + a_{14}A_{14} = 1\cdot A_{11} + 0 + 2\cdot A_{13} + 0 $$Осталось посчитать всего два алгебраических дополнения из четырёх — уже экономия. Начнём с $A_{11}$: вычёркиваем 1-ю строку и 1-й столбец матрицы $C$, знак $(-1)^{1+1}=+1$:
$$ M_{11} = \begin{vmatrix} 1 & 0 & 2 \\ 2 & 1 & 1 \\ 0 & 3 & 1 \end{vmatrix} $$Раскладываем этот определитель $3\times3$ по первой строке:
$$ M_{11} = 1\begin{vmatrix} 1 & 1 \\ 3 & 1 \end{vmatrix} - 0\begin{vmatrix} 2 & 1 \\ 0 & 1 \end{vmatrix} + 2\begin{vmatrix} 2 & 1 \\ 0 & 3 \end{vmatrix} = 1(1-3) - 0 + 2(6-0) = -2 + 12 = 10 $$Значит, $A_{11} = +10$. Теперь $A_{13}$: вычёркиваем 1-ю строку и 3-й столбец, знак $(-1)^{1+3}=+1$:
$$ M_{13} = \begin{vmatrix} 3 & 1 & 2 \\ 0 & 2 & 1 \\ 1 & 0 & 1 \end{vmatrix} $$Здесь удобно разложить по первому столбцу (в нём тоже есть ноль):
$$ M_{13} = 3\begin{vmatrix} 2 & 1 \\ 0 & 1 \end{vmatrix} - 0\begin{vmatrix} 1 & 2 \\ 0 & 1 \end{vmatrix} + 1\begin{vmatrix} 1 & 2 \\ 2 & 1 \end{vmatrix} = 3(2-0) - 0 + 1(1-4) = 6 - 3 = 3 $$Значит, $A_{13} = +3$. Собираем итоговый определитель:
$$ \det(C) = 1\cdot10 + 2\cdot3 = 10 + 6 = 16 $$Итак, $\det(C) = 16$. Обрати внимание на структуру вычисления: мы свели определитель матрицы $4\times4$ к двум определителям $3\times3$, а каждый из тех, в свою очередь, — к определителям $2\times2$. Это и есть метод Лапласа в действии: не единая "формула для $4\times4$", а рекурсивный алгоритм, который работает для любого $n$.
Почему это важно
Именно эта рекурсивная формула — теоретическая основа того, что определитель существует и вычислим для матрицы любого порядка, а не только для $2\times2$ и $3\times3$, для которых есть удобные короткие формулы. На практике для матриц больше $4\times4$–$5\times5$ разложение Лапласа "в лоб" становится вычислительно неэффективным (число операций растёт как $n!$), поэтому библиотеки вроде NumPy или PyTorch используют LU-разложение (сложность $O(n^3)$). Но сама теорема Лапласа остаётся концептуальным фундаментом: на ней строятся доказательства свойств определителя, формула обратной матрицы через адъюнгированную матрицу, а также понимание того, почему определитель треугольной матрицы равен произведению диагональных элементов — раскладывая треугольную матрицу по столбцу или строке с максимумом нулей, ты быстро в этом убедишься сам.
Практика: 30 заданий
Базовые (задания 1-10)
Задание 1: Для матрицы $M = \begin{pmatrix} 5 & 3 \\ 2 & 4 \end{pmatrix}$ найди все четыре минора: $M_{11}$, $M_{12}$, $M_{21}$, $M_{22}$.
Задание 2: Для той же матрицы $M$ найди все алгебраические дополнения и с их помощью вычисли $\det(M)$ через разложение по первой строке.
Задание 3: Для матрицы $P = \begin{pmatrix} 2 & 1 & 4 \\ 0 & 3 & 1 \\ 5 & 2 & 1 \end{pmatrix}$ найди минор $M_{11}$.
Задание 4: Для той же матрицы $P$ найди минор $M_{23}$.
Задание 5: Для матрицы $P$ из задания 3 найди алгебраическое дополнение $A_{22}$.
Задание 6: Для матрицы $P$ найди алгебраическое дополнение $A_{31}$.
Задание 7: Используя результаты заданий 3-6 и найденное самостоятельно $A_{21}$, вычисли $\det(P)$ разложением по второй строке ($P = \begin{pmatrix} 2 & 1 & 4 \\ 0 & 3 & 1 \\ 5 & 2 & 1 \end{pmatrix}$).
Задание 8: Не вычисляя ни одного минора, определи знак алгебраических дополнений $A_{34}$ и $A_{41}$ в матрице $4\times4$.
Задание 9: Дана квадратная матрица порядка $n=6$. Какого размера будет минор $M_{4,5}$?
Задание 10: Для матрицы $Q = \begin{pmatrix} 1 & 0 & 3 \\ 2 & 1 & 0 \\ 4 & 2 & 5 \end{pmatrix}$ найди алгебраические дополнения $A_{12}$ и $A_{33}$.
Средние (задания 11-20)
Задание 11: Для матрицы $R = \begin{pmatrix} 3 & -2 & 1 \\ 1 & 0 & 4 \\ -2 & 5 & 3 \end{pmatrix}$ вычисли определитель, разложив по второй строке (в ней есть ноль).
Задание 12: Проверь результат задания 11, разложив тот же определитель по первому столбцу.
Задание 13: Вычисли определитель матрицы $S = \begin{pmatrix} 2 & 3 & 1 \\ 4 & 1 & 5 \\ 3 & 2 & 2 \end{pmatrix}$ разложением по первой строке (нулей здесь нет — потренируйся в "чистом" случае).
Задание 14: Вычисли определитель матрицы $4\times4$:
$$ T = \begin{pmatrix} 1 & 4 & 0 & 0 \\ 2 & 1 & 3 & 5 \\ 0 & 2 & 1 & 4 \\ 3 & 0 & 2 & 1 \end{pmatrix} $$Задание 15: При каком значении $x$ определитель матрицы $\begin{pmatrix} 1 & 2 & x \\ 2 & 4 & 1 \\ 1 & 1 & 1 \end{pmatrix}$ обращается в ноль?
Задание 16: ML-кейс: матрица весов небольшого слоя $W = \begin{pmatrix} 0.9 & 0.2 & 0.1 \\ 0.1 & 0.8 & 0.3 \\ 0.2 & 0.1 & 0.7 \end{pmatrix}$. Обратима ли она (проверь через разложение определителя)?
Задание 17: Для матрицы $Q$ из задания 10 ($Q = \begin{pmatrix} 1 & 0 & 3 \\ 2 & 1 & 0 \\ 4 & 2 & 5 \end{pmatrix}$) построй полную матрицу алгебраических дополнений (все девять $A_{ij}$).
Задание 18: В матрице $6\times6$ определи знак алгебраического дополнения $A_{53}$, не вычисляя минор.
Задание 19: Вычисли определитель верхнетреугольной матрицы
$$ U = \begin{pmatrix} 2 & 1 & 3 & 0 \\ 0 & 3 & 1 & 2 \\ 0 & 0 & 1 & 4 \\ 0 & 0 & 0 & 2 \end{pmatrix} $$через разложение по первому столбцу и убедись, что получится произведение диагональных элементов.
Задание 20: Матрица корреляций признаков (упрощённо):
$$ \text{Corr} = \begin{pmatrix} 1 & 0.5 & 0 & 0.2 \\ 0.5 & 1 & 0.3 & 0 \\ 0 & 0.3 & 1 & 0.1 \\ 0.2 & 0 & 0.1 & 1 \end{pmatrix} $$Раскладывая по третьему столбцу (там всего один ноль), покажи схему вычисления и укажи, обратима ли матрица (известно, что $\det \approx 0.6101$).
Продвинутые (задания 21-30)
Задание 21: Вычисли определитель матрицы $U = \begin{pmatrix} 2 & 1 & 3 & 4 \\ 1 & 0 & 2 & 1 \\ 3 & 2 & 1 & 0 \\ 1 & 1 & 1 & 2 \end{pmatrix}$, выбрав для разложения самую выгодную строку.
Задание 22: Вычисли определитель матрицы $5\times5$, используя вложенное применение метода Лапласа (сначала по столбцу с четырьмя нулями, затем внутри — по строке с двумя нулями):
$$ V = \begin{pmatrix} 3 & 0 & 1 & 2 & 0 \\ 1 & 2 & 0 & 4 & 0 \\ 0 & 0 & 5 & 1 & 0 \\ 2 & 1 & 3 & 2 & 0 \\ 4 & 3 & 2 & 1 & 6 \end{pmatrix} $$Задание 23: Для матрицы $Q$ из заданий 10 и 17 вычисли $\det(Q)$ разложением по первому столбцу, используя уже готовые алгебраические дополнения $A_{11}=5$, $A_{21}=6$, $A_{31}=-3$, и убедись, что результат совпадает с разложением по первой строке.
Задание 24: Найди все значения параметра $\lambda$, при которых матрица $\begin{pmatrix} \lambda & 1 & 1 \\ 1 & \lambda & 1 \\ 1 & 1 & \lambda \end{pmatrix}$ вырождена (необратима).
Задание 25: Матрица переходов между тремя состояниями (упрощённая модель внимания): $\text{Att} = \begin{pmatrix} 0.7 & 0.2 & 0.1 \\ 0.3 & 0.5 & 0.2 \\ 0.1 & 0.1 & 0.8 \end{pmatrix}$. Вычисли определитель разложением по первой строке и сделай вывод об обратимости.
Задание 26: Дана матрица $\text{Sw} = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 4 \\ 5 & 6 & 0 \end{pmatrix}$. Вычисли её определитель, затем поменяй местами первую и вторую строки и снова вычисли определитель через разложение. Убедись, что знак сменился (свойство определителя из прошлого урока), и объясни это на языке алгебраических дополнений.
Задание 27: Вычисли определитель матрицы, выбрав столбец с наибольшим числом нулей:
$$ Z = \begin{pmatrix} 1 & 5 & 2 & 3 \\ 4 & 0 & 1 & 2 \\ 2 & 0 & 3 & 1 \\ 1 & 0 & 4 & 2 \end{pmatrix} $$Задание 28: Для матрицы $C$ из главного примера урока ($C = \begin{pmatrix} 1 & 0 & 2 & 0 \\ 3 & 1 & 0 & 2 \\ 0 & 2 & 1 & 1 \\ 1 & 0 & 3 & 1 \end{pmatrix}$, мы уже получили $\det(C)=16$, раскладывая по первой строке) пересчитай определитель, разложив на этот раз по второму столбцу, и убедись, что ответ не изменился.
Задание 29: Вычисли определитель матрицы, в которой совсем нет нулей (потренируйся в "тяжёлом" случае без подсказок):
$$ Ch = \begin{pmatrix} 2 & 3 & 1 & 4 \\ 1 & 2 & 3 & 1 \\ 3 & 1 & 2 & 2 \\ 4 & 2 & 1 & 3 \end{pmatrix} $$Задание 30: Капстоун-задача. Подматрица весов слоя нейросети $4\times4$:
$$ W_m = \begin{pmatrix} 0.5 & 0 & 0.2 & 0.1 \\ 0.3 & 0.6 & 0 & 0.2 \\ 0.1 & 0.2 & 0.7 & 0 \\ 0 & 0.1 & 0.2 & 0.8 \end{pmatrix} $$Выбери наиболее удобную строку или столбец для разложения и определи, обратим ли этот слой.
Частые ошибки
❌ Ошибка 1: путать минор с алгебраическим дополнением Минор $M_{ij}$ — это просто число, определитель уменьшенной матрицы, без всякого знака. Алгебраическое дополнение $A_{ij} = (-1)^{i+j}M_{ij}$ — тот же минор, но домноженный на $+1$ или $-1$ в зависимости от позиции. Если ты подставляешь минор напрямую в формулу разложения определителя без учёта знака — результат почти наверняка окажется неверным.
❌ Ошибка 2: неправильно определять знак $(-1)^{i+j}$ Самая частая ловушка — забыть, что знак зависит от суммы индексов, а не от каждого индекса по отдельности. Например, для позиции $(2,3)$ нужно смотреть на $2+3=5$ (нечётное — минус), а не рассуждать "строка 2 — минус, столбец 3 — минус, значит вместе плюс". Такой независимой логики в формуле нет.
❌ Ошибка 3: терять минус при двойной смене знака Особенно коварная ситуация — когда сам минор отрицательный, а позиция при этом нечётная (тоже даёт минус). Минус на минус даёт плюс, но при устном счёте это часто "теряется", и в ответе остаётся неверный отрицательный знак. Всегда фиксируй знак минора и знак позиции как два отдельных множителя, а не смешивай их в уме.
❌ Ошибка 4: вычёркивать не ту строку или не тот столбец Для $M_{ij}$ вычёркивается именно $i$-я строка и именно $j$-й столбец — не наоборот. Ошибка особенно легко проскальзывает, если матрица не квадратная в восприятии (например, при работе с прямоугольным фрагментом данных) или если индексы записаны нестандартно. Проверяй себя: после вычёркивания в оставшейся матрице не должно остаться ни одного элемента из вычеркнутой строки и вычеркнутого столбца.
❌ Ошибка 5: считать, что выбор строки/столбца для разложения влияет на итоговый определитель Теорема Лапласа гарантирует одинаковый результат при разложении по любой строке или столбцу. Если у тебя получаются разные ответы при разложении по разным строкам — ошибка не в самом методе, а в вычислениях (чаще всего — в знаке одного из алгебраических дополнений).
❌ Ошибка 6: применять правило Саррюса (треугольников) к матрицам больше $3\times3$ Короткие "формулы для $3\times3$" из прошлого урока работают только для матриц третьего порядка. Для $4\times4$ и выше — только разложение Лапласа (либо более быстрые численные методы, но их идея сама опирается на эту теорему).
❌ Ошибка 7: путать минор $M_{ij}$ с "минором ранга $k$" из теории ранга матрицы В этом курсе слово "минор" в контексте алгебраических дополнений всегда означает минор, дополнительный к одному элементу (размер $(n-1)\times(n-1)$). В более общей теории ранга матрицы минором называют определитель любой квадратной подматрицы произвольного размера — это отдельное, более широкое понятие, с которым ты столкнёшься позже.
Главное запомнить
✅ Минор $M_{ij}$ — определитель матрицы, полученной из исходной вычёркиванием $i$-й строки и $j$-го столбца; размер минора всегда на единицу меньше по каждой стороне: $(n-1)\times(n-1)$.
✅ Алгебраическое дополнение (кофактор) $A_{ij} = (-1)^{i+j}\cdot M_{ij}$ — минор со знаком, определяемым чётностью суммы индексов $i+j$ по принципу "шахматной доски".
✅ Теорема Лапласа: $\det(A) = \sum_{j=1}^n a_{ij}A_{ij}$ (разложение по строке $i$) или $\det(A) = \sum_{i=1}^n a_{ij}A_{ij}$ (разложение по столбцу $j$) — результат не зависит от выбора строки или столбца.
✅ Метод работает для матрицы любого порядка $n$ — в этом его принципиальное отличие от коротких формул для $2\times2$ и $3\times3$.
✅ Для эффективных вычислений вручную всегда выбирай строку или столбец с максимальным числом нулей — каждый ноль убирает одно слагаемое из суммы.
✅ Определитель треугольной матрицы равен произведению диагональных элементов — это прямое следствие последовательного разложения по столбцу (или строке) с нулями.
✅ Знак минора и знак позиции $(-1)^{i+j}$ — два независимых множителя; их нельзя путать и нельзя объединять "по интуиции".
✅ Из матрицы алгебраических дополнений строится присоединённая (адъюнгированная) матрица — прямой фундамент для формулы обратной матрицы в следующем уроке.
✅ На практике (библиотеки NumPy, PyTorch) определители больших матриц считаются не разложением Лапласа, а через LU-разложение — но сама теорема Лапласа остаётся теоретической основой этих методов.
✅ Равенство определителя нулю через миноры и кофакторы — это тот же признак линейной зависимости строк/столбцов, который ты уже видел в уроке про свойства определителей, только теперь у тебя есть инструмент проверять это для матриц любого размера.
Связь с другими темами курса
Что нужно было знать до этого урока:
-
Определители $2\times2$ и $3\times3$ (урок 159) — миноры матрицы $3\times3$ и $4\times4$ сами оказываются определителями $2\times2$ и $3\times3$, поэтому без уверенного владения этими формулами разложение Лапласа не сложится.
-
Свойства определителей (урок 159) — знак определителя при перестановке строк, линейность по строке, признак линейной зависимости через $\det=0$ — всё это мы фактически "переоткрыли" в терминах миноров и кофакторов в заданиях 26 и 24.
Что изучить дальше:
-
Обратная матрица (следующий урок) — формула $A^{-1} = \dfrac{1}{\det A}\operatorname{adj}(A)$ целиком построена на матрице алгебраических дополнений, транспонированной в присоединённую (адъюнгированную) матрицу. Задание 17 этого урока — фактически первый шаг к вычислению обратной матрицы.
-
Ранг матрицы — более общее понятие минора (определитель произвольной квадратной подматрицы) используется для определения ранга через "окаймляющие миноры".
-
Собственные значения и собственные векторы — характеристическое уравнение $\det(A-\lambda I)=0$ вычисляется тем же разложением Лапласа, только с параметром $\lambda$ вместо конкретных чисел (см. задание 24, где эта идея уже появилась в миниатюре).
Где это нужно в ML/AI и на практике:
-
🤖 Проверка обратимости матрицы весов — если определитель слоя близок к нулю, слой плохо обусловлен, восстановление входа неустойчиво (см. задания 16 и 30).
-
📊 Матрица корреляций и мультиколлинеарность — определитель, близкий к нулю, сигнализирует о почти линейно зависимых признаках (задание 20).
-
🧠 Гессиан и якобиан в оптимизации — знакоопределённость гессиана (через миноры угловых подматриц — критерий Сильвестра) определяет, находится ли модель в точке минимума.
-
🎯 Метод наименьших квадратов — обратимость матрицы $X^TX$ проверяется тем же путём: через определитель, посчитанный разложением Лапласа для произвольного числа признаков.
-
🔬 Характеристический многочлен для PCA/SVD — собственные значения ковариационной матрицы находятся через определитель $\det(A-\lambda I)$, вычисляемый разложением Лапласа.
Интересные факты
💡 Лаплас — не только про небесную механику. Большинство знает Пьера-Симона Лапласа по трудам о движении планет и знаменитому мысленному эксперименту "демон Лапласа". Но теорема о разложении определителя — тоже его работа, причём написанная им в 23 года, за десятилетия до его самых известных астрономических трудов.
💡 "Минор" буквально значит "меньший". Латинское слово minor ("меньший") противопоставляется major ("больший") — минор действительно всегда меньше исходной матрицы ровно на одну строку и один столбец. В английской математической традиции для алгебраического дополнения закрепилось отдельное слово — cofactor, которое подчёркивает его роль "сомножителя" в формуле разложения.
💡 Разложение Лапласа работает, но им почти никто не пользуется на практике для больших матриц. Число операций при прямом разложении определителя порядка $n$ растёт как $n!$ — для матрицы $20\times20$ это больше $10^{18}$ операций. Поэтому реальные вычислительные библиотеки применяют LU-разложение со сложностью $O(n^3)$. Но красота теоремы Лапласа в том, что она остаётся математически точной и служит теоретическим фундаментом для доказательства, что определитель вообще корректно определён для любого $n$.
💡 Знак $(-1)^{i+j}$ — не искусственная договорённость, а следствие теории перестановок. Полное определение определителя через сумму по всем перестановкам столбцов включает знак каждой перестановки (её чётность). Формула Лапласа с чередованием знаков — по сути "свёрнутая" версия этой более общей суммы, где чередующиеся плюсы и минусы автоматически компенсируют перестановки строк и столбцов.
💡 Критерий Сильвестра — прямое продолжение этой темы. Чтобы проверить, является ли квадратичная форма (например, гессиан функции потерь) положительно определённой, нужно посмотреть на знаки миноров, "растущих" от левого верхнего угла матрицы — их называют угловыми минорами. Если все они положительны — форма положительно определена, и точка — локальный минимум. Это одно из самых практичных применений миноров в оптимизации моделей машинного обучения.
Лайфхаки и полезные трюки
1. Всегда ищи строку или столбец с максимумом нулей. Каждый ноль в строке или столбце автоматически убирает одно слагаемое из суммы разложения — не нужно ни искать минор, ни определять знак для этого элемента. В задании 22 именно это превратило матрицу $5\times5$ из потенциально громоздкого вычисления в два быстрых шага.
2. Если строк и столбцов с нулями нет — создай их сам. Можно прибавить к одной строке другую, умноженную на подходящий коэффициент (свойство определителя не изменяться при такой операции, из прошлого урока) — и получить ноль там, где его не было. Это особенно полезно при ручном счёте матриц $4\times4$ и больше.
3. Держи знак минора и знак позиции раздельно, пока не перемножишь их в конце. Записывай явно: "$M_{ij} = \dots$, знак $(-1)^{i+j} = \dots$, значит $A_{ij} = \dots$". Такая привычка резко снижает число ошибок со знаком — самой частой причины неверного ответа в этой теме.
4. Мнемоника для чередования знаков — шахматная доска. Верхний левый угол матрицы всегда "плюс" (позиция $(1,1)$, сумма индексов чётная). Дальше знаки чередуются по строкам и по столбцам, как цвета клеток. Если нарисовать эту сетку один раз перед вычислением большой матрицы — сверяться с ней быстрее, чем каждый раз считать чётность $i+j$ в уме.
5. Для проверки — пересчитай разложением по другой строке или столбцу. Теорема Лапласа гарантирует одинаковый результат при любом выборе — это встроенная система самопроверки. Если два разных разложения дали разные числа (как в заданиях 12, 23 и 28, где мы намеренно проверяли этот факт), ошибка точно есть, и её стоит искать в знаках.
6. Треугольные и почти треугольные матрицы раскладывай "вдоль лестницы нулей". Если матрица верхне- или нижнетреугольная, разложение по столбцу (или строке) с нулями за несколько шагов сведётся к произведению диагональных элементов — не нужно расписывать общую формулу, достаточно один раз убедиться в этом (задание 19).
7. В коде — не изобретай велосипед.
Для матриц больше $4\times4$–$5\times5$ вручную считать разложением Лапласа нерационально даже с трюками из пунктов 1–2. В NumPy для этого есть np.linalg.det(), а для отслеживания численной стабильности при очень больших или очень маленьких определителях — np.linalg.slogdet(), которая возвращает логарифм модуля определителя вместо самого числа.
8. Прежде чем раскладывать — взгляни на матрицу целиком. Если увидел одинаковые или пропорциональные строки/столбцы — определитель точно равен нулю (свойство из прошлого урока), и раскладывать вообще ничего не нужно. Экономия времени колоссальная, особенно на экзамене.
Разложение Лапласа — это не просто техника для контрольной работы. Это первый шаг к пониманию, откуда вообще берётся обратная матрица, почему у одних матриц она существует, а у других — нет, и как проверить устойчивость модели ещё до того, как она обучится на данных. В следующем уроке ты возьмёшь ровно те матрицы алгебраических дополнений, которые уже научился строить, транспонируешь их в присоединённую матрицу — и получишь формулу обратной матрицы. Не откладывай практику: чем увереннее рука в вычислении миноров и знаков сейчас, тем естественнее дальше пойдёт тема обратных матриц. 🚀
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку