🔴 Сложный ⏱️ 50 минут

Определители 2-го и 3-го порядка

📋 Содержание урока

Определители 2-го и 3-го порядка 🧮

Представь, что у тебя есть матрица, и тебе нужно ответить на один-единственный вопрос: можно ли её обратить? Существует ли матрица $A^{-1}$, такая что $A \cdot A^{-1} = I$? От ответа зависит буквально всё: решится ли система линейных уравнений однозначно, можно ли обучить модель линейной регрессии по методу наименьших квадратов, можно ли вычислить плотность многомерного нормального распределения. И на этот вопрос отвечает одно число — определитель.

Определитель (или детерминант) матрицы — это число, которое ты вычисляешь по её элементам и которое несёт в себе удивительно много информации. Оно говорит, во сколько раз матрица растягивает или сжимает пространство. Оно говорит, сохраняет ли преобразование ориентацию объектов или отражает их, как в зеркале. И оно говорит, вырождена матрица или нет — то есть "схлопывает" ли она пространство в нечто меньшей размерности.

В этом уроке мы разберём определители только для матриц $2 \times 2$ и $3 \times 3$ — это тот самый случай, когда можно "потрогать руками" каждую формулу и увидеть геометрию за числами. Ты научишься считать определитель по формуле $ad - bc$ для матриц второго порядка, освоишь правило треугольника (правило Саррюса) для матриц третьего порядка, увидишь, как определитель связан с площадью параллелограмма и объёмом параллелепипеда, и поймёшь, почему равенство $\det(A) = 0$ — это красный флаг, который в машинном обучении означает "эта матрица не обратима, и с этим нужно что-то делать".

Давай разберёмся, откуда вообще взялась эта странная формула и почему математики вот уже почти 350 лет не могут без неё обойтись.

История: откуда это взялось?

Определители появились раньше матриц — это исторический парадокс, который часто удивляет студентов. В 1683 году японский математик Сэки Такакадзу описал метод вычисления детерминантов для решения систем уравнений, а всего годом позже, в 1693-м, независимо от него немецкий философ и математик Готфрид Лейбниц пришёл к тем же идеям в переписке с Гийомом де Лопиталем. Лейбниц искал систематический способ понять, когда система линейных уравнений имеет решение, и вывел общую формулу — ту самую, которая сегодня называется формулой Лейбница для определителя.

Термин "детерминант" (от латинского determinare — "определять", "устанавливать границы") закрепился в XVIII веке благодаря швейцарскому математику Габриэлю Крамеру. В 1750 году он опубликовал работу, где показал, как с помощью определителей находить решение системы линейных уравнений в явном виде — это правило сегодня носит его имя (правило Крамера, с ним ты познакомишься в одном из следующих уроков). Крамер работал над задачей, до жути похожей на современные задачи анализа данных: он пытался провести кривую заданной степени через заданный набор точек, и для этого ему нужно было решать системы уравнений с параметрами.

А удобное практическое правило для матриц $3 \times 3$ — то, что мы сегодня называем правилом треугольника или правилом Саррюса, — предложил французский математик Пьер Фредерик Саррюс в 1833 году. Забавно, что сама идея определителя за полтора века до этого уже была известна, но именно наглядный мнемонический приём Саррюса стал тем, что изучают студенты по всему миру. Общее же обозначение $\det(A)$ и вертикальные черточки $|A|$ ввёл в XIX веке английский математик Артур Кэли — тот самый, что формализовал матричную алгебру. Так определители и матрицы, родившиеся независимо, слились в единую теорию, без которой сегодня невозможно представить ни компьютерную графику, ни машинное обучение.

Определитель матрицы 2×2: формула $ad - bc$

Интуиция

Представь квадратную матрицу как "рецепт" линейного преобразования плоскости: она берёт единичный квадрат (со сторонами-векторами $(1,0)$ и $(0,1)$) и превращает его в параллелограмм. Определитель — это число, которое показывает, во сколько раз изменилась площадь при этом превращении, и в какую сторону "перевернулась" фигура.

Для матрицы $2 \times 2$ формула на удивление простая: перемножь элементы главной диагонали, вычти произведение элементов побочной диагонали.

Определение: Для матрицы $A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$ определителем второго порядка называется число

$$\det(A) = \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc$$

Диагональ $a, d$ — главная (идёт из левого верхнего угла в правый нижний), диагональ $b, c$ — побочная. Запомнить порядок легко: "главная минус побочная".

Примеры

Пример 1 (лёгкий). Вычисли определитель матрицы

$$A = \begin{pmatrix} 3 & 5 \\ 2 & 4 \end{pmatrix}$$

Подставляем в формулу: $\det(A) = 3 \cdot 4 - 5 \cdot 2 = 12 - 10 = 2$.

Пример 2 (средний). Теперь матрица с отрицательными числами:

$$B = \begin{pmatrix} -2 & 4 \\ 3 & 5 \end{pmatrix}$$

$\det(B) = (-2) \cdot 5 - 4 \cdot 3 = -10 - 12 = -22$.

Обрати внимание: определитель может быть отрицательным — и это не ошибка, а важная информация. Отрицательный определитель означает, что преобразование "переворачивает" плоскость, как отражение в зеркале.

Пример 3 (сложный, ML-контекст). В машинном обучении симметричные матрицы вида $2 \times 2$ часто встречаются как ковариационные матрицы двух признаков. Пусть

$$\Sigma = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix}$$

$\det(\Sigma) = 4 \cdot 3 - 2 \cdot 2 = 12 - 4 = 8$.

Определитель положительный и ненулевой — значит, эта ковариационная матрица корректна: она обратима, а значит, для неё можно вычислить многомерную нормальную плотность вероятности, в формулу которой входит $\Sigma^{-1}$.

Почему это важно: формула $ad - bc$ — это не просто арифметическое упражнение. Она напрямую входит в формулу обратной матрицы $A^{-1} = \frac{1}{\det(A)} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix}$ — и сразу видно: если $\det(A) = 0$, деление на ноль, обратной матрицы не существует. Тот же определитель отвечает за площадь параллелограмма (см. ниже) и за то, единственное ли решение имеет система из двух линейных уравнений с двумя неизвестными.

Определитель матрицы 3×3: правило треугольника и правило Саррюса

Интуиция

Для матрицы $3 \times 3$ формула честно расписывает шесть слагаемых — три со знаком плюс и три со знаком минус. Чтобы не запоминать формулу вслепую, придумали мнемонические приёмы. Представь, что тебе нужно провести три "диагонали со сдвигом вправо" (они дают слагаемые со знаком плюс) и три "диагонали со сдвигом влево" (они дают слагаемые со знаком минус) — вот и всё правило треугольника, названное так потому, что произведения элементов, не лежащих на главной или побочной диагонали, образуют треугольники.

Правило Саррюса — практичная версия того же самого: допиши справа от матрицы её первые два столбца ещё раз, и тогда шесть диагоналей видно буквально глазами.

Определение: Для матрицы $A = \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix}$ определителем третьего порядка называется число

$$\det(A) = aei + bfg + cdh - ceg - bdi - afh$$

Схема Саррюса выглядит так:

$$\begin{array}{ccc|cc} a & b & c & a & b \\ d & e & f & d & e \\ g & h & i & g & h \end{array}$$

Три диагонали слева направо и вниз ($a{-}e{-}i$, $b{-}f{-}g$, $c{-}d{-}h$) берутся со знаком плюс, три диагонали справа налево и вниз ($c{-}e{-}g$, $b{-}d{-}i$, $a{-}f{-}h$) — со знаком минус.

Примеры

Пример 1 (лёгкий). Вычисли определитель

$$A = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 1 & 4 \\ 5 & 6 & 0 \end{pmatrix}$$

По формуле: $aei = 1 \cdot 1 \cdot 0 = 0$, $bfg = 2 \cdot 4 \cdot 5 = 40$, $cdh = 3 \cdot 0 \cdot 6 = 0$. Сумма плюс-слагаемых: $0 + 40 + 0 = 40$.

Теперь минус-слагаемые: $ceg = 3 \cdot 1 \cdot 5 = 15$, $bdi = 2 \cdot 0 \cdot 0 = 0$, $afh = 1 \cdot 4 \cdot 6 = 24$. Сумма: $15 + 0 + 24 = 39$.

$\det(A) = 40 - 39 = 1$.

Пример 2 (средний). Матрица с нулём внутри:

$$B = \begin{pmatrix} 2 & 0 & 1 \\ 3 & 1 & 4 \\ 1 & 2 & 0 \end{pmatrix}$$

Плюс-слагаемые: $aei = 2 \cdot 1 \cdot 0 = 0$, $bfg = 0 \cdot 4 \cdot 1 = 0$, $cdh = 1 \cdot 3 \cdot 2 = 6$. Сумма: $6$.

Минус-слагаемые: $ceg = 1 \cdot 1 \cdot 1 = 1$, $bdi = 0 \cdot 3 \cdot 0 = 0$, $afh = 2 \cdot 4 \cdot 2 = 16$. Сумма: $17$.

$\det(B) = 6 - 17 = -11$.

Пример 3 (сложный, ML-контекст). Ковариационная матрица трёх признаков:

$$\Sigma = \begin{pmatrix} 4 & 2 & 0 \\ 2 & 5 & 1 \\ 0 & 1 & 3 \end{pmatrix}$$

Плюс-слагаемые: $aei = 4 \cdot 5 \cdot 3 = 60$, $bfg = 2 \cdot 1 \cdot 0 = 0$, $cdh = 0 \cdot 2 \cdot 1 = 0$. Сумма: $60$.

Минус-слагаемые: $ceg = 0 \cdot 5 \cdot 0 = 0$, $bdi = 2 \cdot 2 \cdot 3 = 12$, $afh = 4 \cdot 1 \cdot 1 = 4$. Сумма: $16$.

$\det(\Sigma) = 60 - 16 = 44$.

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

Почему это важно: правило Саррюса работает только для матриц $3 \times 3$ — для матриц $4 \times 4$ и выше такого простого трюка уже нет, там используют разложение по строке или столбцу (об этом — в следующем уроке про свойства определителей). Но сама идея — определитель как сумма произведений по диагоналям со знаками — обобщается на формулу Лейбница любого порядка, и матрицы $3 \times 3$ прекрасно иллюстрируют, откуда берутся эти знаки "плюс" и "минус".

Геометрический смысл определителя: площадь и объём

Интуиция

А теперь самое красивое. Представь, что строки (или столбцы) матрицы $2 \times 2$ — это координаты двух векторов на плоскости. Тогда $|\det(A)|$ — это в точности площадь параллелограмма, построенного на этих двух векторах. Для матрицы $3 \times 3$ то же самое работает в пространстве: $|\det(A)|$ — это объём параллелепипеда, построенного на трёх векторах-строках (или столбцах).

Это не совпадение и не "красивая аналогия для мотивации" — это буквально то, что вычисляет формула $ad - bc$. Если векторы направлены "почти одинаково" (почти параллельны), параллелограмм получается узким и тонким, его площадь маленькая. Если векторы вообще параллельны — параллелограмм схлопывается в отрезок, площадь равна нулю. А если векторы перпендикулярны, площадь максимальна при заданных длинах сторон.

Определение: Пусть векторы $\mathbf{u} = (u_1, u_2)$ и $\mathbf{v} = (v_1, v_2)$ задают стороны параллелограмма. Тогда его площадь равна

$$S = \left| \det \begin{pmatrix} u_1 & u_2 \\ v_1 & v_2 \end{pmatrix} \right|$$

Аналогично, для векторов $\mathbf{a}, \mathbf{b}, \mathbf{c} \in \mathbb{R}^3$ объём параллелепипеда равен $V = |\det(A)|$, где строки матрицы $A$ — это координаты векторов $\mathbf{a}, \mathbf{b}, \mathbf{c}$.

Примеры

Пример 1 (лёгкий, прямоугольник — проверка формулы на очевидном случае). Векторы $\mathbf{u} = (2, 0)$ и $\mathbf{v} = (0, 3)$ образуют обычный прямоугольник $2 \times 3$.

$$\det \begin{pmatrix} 2 & 0 \\ 0 & 3 \end{pmatrix} = 2 \cdot 3 - 0 \cdot 0 = 6$$

Площадь прямоугольника со сторонами 2 и 3 действительно равна 6 — формула сходится с элементарной геометрией.

Пример 2 (средний, настоящий параллелограмм). Векторы $\mathbf{u} = (3, 1)$ и $\mathbf{v} = (1, 4)$.

$$\det \begin{pmatrix} 3 & 1 \\ 1 & 4 \end{pmatrix} = 3 \cdot 4 - 1 \cdot 1 = 12 - 1 = 11$$

Площадь параллелограмма равна 11. Заметь: посчитать эту площадь через "основание × высоту" было бы куда более муторно — пришлось бы искать высоту через тригонометрию. Определитель считает всё за одно действие.

Пример 3 (объём параллелепипеда, ML-контекст: эмбеддинги). Три вектора в пространстве признаков: $\mathbf{a} = (2, 1, 0)$, $\mathbf{b} = (0, 3, 1)$, $\mathbf{c} = (1, 0, 4)$.

$$\det \begin{pmatrix} 2 & 1 & 0 \\ 0 & 3 & 1 \\ 1 & 0 & 4 \end{pmatrix}$$

Плюс-слагаемые: $2 \cdot 3 \cdot 4 = 24$, $1 \cdot 1 \cdot 1 = 1$, $0 \cdot 0 \cdot 0 = 0$, сумма $= 25$. Минус-слагаемые: $0 \cdot 3 \cdot 1 = 0$, $1 \cdot 0 \cdot 4 = 0$, $2 \cdot 1 \cdot 0 = 0$, сумма $= 0$.

$V = |25 - 0| = 25$.

Три вектора образуют параллелепипед объёмом 25 — и, что важно, объём ненулевой, значит векторы не лежат в одной плоскости, они действительно "используют" все три измерения пространства.

Почему это важно: геометрический смысл определителя — это мост между алгеброй и интуицией. Когда позже ты будешь изучать якобианы (производные многомерных функций), тебе нужно будет понимать: определитель матрицы Якоби показывает, во сколько раз преобразование растягивает или сжимает локальный объём. Это не абстрактная формула — это в буквальном смысле обобщение площади параллелограмма на произвольные, в том числе нелинейные, преобразования.

Когда определитель равен нулю: линейная зависимость и вырожденность

Интуиция

Теперь ключевой вопрос: что означает $\det(A) = 0$? Геометрически — параллелограмм (или параллелепипед) схлопнулся в фигуру меньшей размерности: в отрезок, в точку, в плоскость. А значит, векторы-строки (или векторы-столбцы) матрицы не независимы друг от друга: один из них можно выразить через остальные. Такие векторы называют линейно зависимыми.

Представь, что один из твоих признаков в датасете — это просто "рост в сантиметрах", а другой — "рост в дюймах". Они несут одну и ту же информацию, только в разном масштабе. Геометрически векторы этих двух признаков в пространстве наблюдений будут параллельны — а значит, определитель матрицы, построенной на них, окажется равным нулю.

Определение: Строки (или столбцы) матрицы называются линейно зависимыми, если хотя бы одну из них можно представить как линейную комбинацию остальных (то есть сумму остальных строк, умноженных на какие-то коэффициенты). Для квадратной матрицы верно: $\det(A) = 0$ тогда и только тогда, когда её строки (столбцы) линейно зависимы. Такую матрицу называют вырожденной (сингулярной) — она не имеет обратной матрицы $A^{-1}$.

Примеры

Пример 1 (лёгкий, нулевая строка).

$$A = \begin{pmatrix} 0 & 0 & 0 \\ 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}$$

Если раскрыть определитель по формуле Саррюса, каждое из шести слагаемых содержит множитель из первой строки — то есть 0. Значит, $\det(A) = 0$ автоматически. Интуиция простая: если одна из сторон параллелепипеда — нулевой вектор, объём такой фигуры равен нулю по определению.

Пример 2 (средний, пропорциональные строки).

$$B = \begin{pmatrix} 2 & 4 & 6 \\ 1 & 2 & 3 \\ 5 & 1 & 0 \end{pmatrix}$$

Заметь: первая строка равна удвоенной второй строке ($2 = 2\cdot1$, $4 = 2\cdot2$, $6 = 2\cdot3$). Проверим вычислением: плюс-слагаемые $2\cdot2\cdot0 = 0$, $4\cdot3\cdot5 = 60$, $6\cdot1\cdot1 = 6$, сумма $= 66$. Минус-слагаемые: $6\cdot2\cdot5 = 60$, $4\cdot1\cdot0 = 0$, $2\cdot3\cdot1 = 6$, сумма $= 66$.

$\det(B) = 66 - 66 = 0$.

Как и предсказывала теория — пропорциональные строки дают нулевой определитель.

Пример 3 (ML-контекст, мультиколлинеарность). В задаче линейной регрессии у тебя два признака: "рост в см" ($x_1$) и "рост в дюймах" ($x_2 = x_1 / 2{,}54$). После вычисления матрицы $X^TX$ для метода наименьших квадратов получилось:

$$X^TX = \begin{pmatrix} 100 & 254 \\ 254 & 645{,}16 \end{pmatrix}$$

$\det(X^TX) = 100 \cdot 645{,}16 - 254 \cdot 254 = 64516 - 64516 = 0$.

Определитель равен нулю — матрица вырождена, обратной $\left(X^TX\right)^{-1}$ не существует. Нормальные уравнения МНК $\left(X^TX\right)\beta = X^Ty$ не имеют единственного решения: бесконечно много комбинаций коэффициентов при "росте в см" и "росте в дюймах" дадут одинаковое качество модели, потому что по сути это один и тот же признак, просто в разных единицах.

Почему это важно: в машинном обучении вырожденность матрицы — это не теоретическая экзотика, а причина реальных багов. Если ковариационная матрица признаков вырождена (например, из-за дублирующихся или линейно зависимых признаков), формула многомерного нормального распределения буквально ломается — там в знаменателе стоит $\det(\Sigma)$, а в показателе экспоненты нужна обратная матрица $\Sigma^{-1}$. Если $\det(\Sigma) = 0$, вычислить это невозможно. То же самое происходит при обучении линейной регрессии, при вычислении PCA (метод главных компонент), при обращении матрицы Хессиана в оптимизации. Проверка $\det(A) \ne 0$ — это буквально первая диагностика, которую стоит делать, когда что-то "взрывается" при обращении матрицы.

Определитель и якобиан: взгляд из машинного обучения

Интуиция

Мы уже видели, что определитель матрицы $2 \times 2$ или $3 \times 3$ — это коэффициент, на который линейное преобразование меняет площадь или объём. А что если преобразование не линейное, а произвольное, гладкое? Тогда в каждой точке пространства это преобразование можно локально приблизить линейным — матрицей частных производных, которая называется матрицей Якоби (якобианом). И определитель этой матрицы (якобиан в узком смысле слова) точно так же показывает, во сколько раз локально меняется объём.

Представь, что ты работаешь с генеративной моделью — например, с нормализующим потоком (normalizing flow), архитектурой, которая превращает простое распределение (например, стандартное нормальное) в сложное, применяя цепочку обратимых преобразований. Чтобы посчитать плотность вероятности после преобразования, нужна формула замены переменных, а в неё как раз входит $|\det(J)|$, где $J$ — якобиан преобразования.

Определение: Для преобразования $\mathbf{y} = f(\mathbf{x})$, где $f: \mathbb{R}^n \to \mathbb{R}^n$, матрица Якоби — это матрица всех частных производных $J_{ij} = \dfrac{\partial y_i}{\partial x_j}$. Формула замены переменных для плотностей вероятности:

$$p_Y(\mathbf{y}) = p_X(\mathbf{x}) \cdot \left| \det(J^{-1}) \right| = \frac{p_X(\mathbf{x})}{|\det(J)|}$$

Примеры

Пример 1 (лёгкий, линейное преобразование и масштаб площади). Преобразование $T(x_1, x_2) = (2x_1 + x_2,\ x_1 + 3x_2)$ линейно, поэтому его матрица Якоби постоянна:

$$J = \begin{pmatrix} 2 & 1 \\ 1 & 3 \end{pmatrix}, \qquad \det(J) = 2 \cdot 3 - 1 \cdot 1 = 5$$

Значит, это преобразование увеличивает площадь любой фигуры ровно в 5 раз — везде, в любой точке плоскости, потому что преобразование линейно и якобиан не зависит от координат.

Пример 2 (средний, поворот сохраняет объём). Матрица поворота на угол $\theta$:

$$R(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$$$$\det(R) = \cos\theta \cdot \cos\theta - (-\sin\theta) \cdot \sin\theta = \cos^2\theta + \sin^2\theta = 1$$

Определитель равен единице для любого угла $\theta$ — это следует из основного тригонометрического тождества. Геометрически это означает: поворот не меняет площадь фигур и не отражает их зеркально — он только вращает пространство. Именно поэтому матрицы поворота называют "сохраняющими объём" (volume-preserving).

Пример 3 (сложный, ML — треугольный якобиан в нормализующих потоках). В реальных архитектурах нормализующих потоков (например, RealNVP) специально конструируют преобразования так, чтобы якобиан был треугольным — тогда определитель считается мгновенно, как произведение диагональных элементов. Рассмотрим преобразование $f(x_1, x_2) = (x_1,\ x_2 + x_1^2)$.

Частные производные: $\dfrac{\partial y_1}{\partial x_1} = 1$, $\dfrac{\partial y_1}{\partial x_2} = 0$, $\dfrac{\partial y_2}{\partial x_1} = 2x_1$, $\dfrac{\partial y_2}{\partial x_2} = 1$.

$$J = \begin{pmatrix} 1 & 0 \\ 2x_1 & 1 \end{pmatrix}, \qquad \det(J) = 1 \cdot 1 - 0 \cdot 2x_1 = 1$$

Определитель всегда равен 1, независимо от точки $(x_1, x_2)$ — это преобразование не меняет объём нигде, при этом само по себе оно нелинейное (искривляет пространство). Именно такой трюк — треугольная структура якобиана, дающая дешёвый в вычислении определитель, — лежит в основе современных генеративных моделей на нормализующих потоках.

Почему это важно: в глубоком обучении вычисление $\det(J)$ для больших матриц — дорогая операция (в общем случае $O(n^3)$ операций). Именно поэтому архитектуры вроде RealNVP и Glow специально проектируют преобразования так, чтобы якобиан получался треугольным — тогда определитель считается за $O(n)$, просто перемножением диагонали. Понимание того, что такое $\det(J)$ на простом примере $2\times2$, — это тот самый фундамент, без которого невозможно разобраться, почему архитектуры генеративных моделей устроены именно так, а не иначе.

Практика: 30 заданий

А теперь самое время попробовать себя в деле. Ниже — 30 заданий на определители второго и третьего порядка: от простой подстановки в формулу до задач, которые встречаются в реальных ML-пайплайнах. Не подглядывай в решение сразу — сначала посчитай сам, а потом сверься.

Базовые (1-10)

Задание 1. Вычисли $\det \begin{pmatrix} 3 & 5 \\ 2 & 4 \end{pmatrix}$.

Задание 2. Вычисли $\det \begin{pmatrix} 7 & 1 \\ 3 & 2 \end{pmatrix}$.

Задание 3. Вычисли $\det \begin{pmatrix} -2 & 4 \\ 3 & 5 \end{pmatrix}$.

Задание 4. Вычисли $\det \begin{pmatrix} 6 & 3 \\ 4 & 2 \end{pmatrix}$ и проверь, является ли матрица вырожденной.

Задание 5. Вычисли $\det \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$.

Задание 6. Вычисли $\det \begin{pmatrix} 5 & 2 \\ 2 & 5 \end{pmatrix}$.

Задание 7. Найди $x$, при котором $\det \begin{pmatrix} x & 2 \\ 3 & 4 \end{pmatrix} = 10$.

Задание 8. Дана матрица $A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$. Вычисли $\det(A)$ и $\det(2A)$. Сравни результаты.

Задание 9. Определи, вырождена ли матрица $\begin{pmatrix} 4 & 6 \\ 2 & 3 \end{pmatrix}$.

Задание 10. Найди площадь параллелограмма, построенного на векторах $\mathbf{u} = (5, 2)$ и $\mathbf{v} = (1, 3)$.

Средние (11-20)

Задание 11. Вычисли определитель $\begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 10 \end{pmatrix}$ по правилу Саррюса.

Задание 12. Вычисли определитель $\begin{pmatrix} 2 & -1 & 0 \\ 1 & 3 & 2 \\ 0 & 1 & 4 \end{pmatrix}$.

Задание 13. Найди объём параллелепипеда на векторах $\mathbf{a} = (1,2,0)$, $\mathbf{b} = (0,1,3)$, $\mathbf{c} = (2,0,1)$.

Задание 14. Проверь, линейно зависимы ли строки матрицы $\begin{pmatrix} 2 & 4 & 6 \\ 1 & 2 & 3 \\ 5 & 1 & 0 \end{pmatrix}$.

Задание 15. В датасете второй признак получен из первого умножением на 2 (полная коллинеарность). Ковариационная матрица получилась $\begin{pmatrix} 9 & 18 \\ 18 & 36 \end{pmatrix}$. Вычисли определитель и объясни, что это значит для обратимости матрицы.

Задание 16. Линейное преобразование $T(x_1, x_2) = (2x_1 + x_2,\ x_1 + 3x_2)$. Найди матрицу Якоби и определи, во сколько раз меняется площадь фигур при этом преобразовании.

Задание 17. Вычисли определитель диагональной матрицы $\begin{pmatrix} 3 & 0 & 0 \\ 0 & 5 & 0 \\ 0 & 0 & 2 \end{pmatrix}$.

Задание 18. Вычисли определитель верхнетреугольной матрицы $\begin{pmatrix} 1 & 2 & 3 \\ 0 & 4 & 5 \\ 0 & 0 & 6 \end{pmatrix}$.

Задание 19. Найди $k$, при котором $\det \begin{pmatrix} k & 3 \\ 6 & 9 \end{pmatrix} = 0$.

Задание 20. Найди площадь треугольника с вершинами $O(0,0)$, $A(4,1)$, $B(2,5)$, используя определитель.

Продвинутые (21-30)

Задание 21. Дана ковариационная матрица $\Sigma = \begin{pmatrix} 4 & 2 & 1 \\ 2 & 5 & 3 \\ 1 & 3 & 6 \end{pmatrix}$. Вычисли $\det(\Sigma)$ методом Саррюса и определи, обратима ли матрица.

Задание 22. Даны $A = \begin{pmatrix} 1 & 2 \\ 0 & 1 \end{pmatrix}$ и $B = \begin{pmatrix} 3 & 0 \\ 1 & 2 \end{pmatrix}$. Вычисли $\det(AB)$ двумя способами: через прямое умножение матриц и через $\det(A)\cdot\det(B)$.

Задание 23. Докажи вычислением, что определитель матрицы поворота $R(\theta) = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$ равен 1 для любого угла $\theta$, и объясни геометрический смысл.

Задание 24. Для преобразования $f(x_1, x_2) = (x_1,\ x_2 + x_1^2)$, используемого в нормализующих потоках, найди матрицу Якоби в произвольной точке и её определитель.

Задание 25. Даны три вектора-эмбеддинга слов: $\mathbf{a}=(1,1,0)$, $\mathbf{b}=(0,1,1)$, $\mathbf{c}=(1,0,1)$. Линейно независимы ли они?

Задание 26. При обучении линейной регрессии с двумя признаками "рост в см" и "рост в дюймах" (без округления, точная пропорция $1$ дюйм $= 2{,}54$ см) матрица $X^TX$ оказалась $\begin{pmatrix} 100 & 254 \\ 254 & 645{,}16 \end{pmatrix}$. Проверь вырожденность и объясни последствия для нормальных уравнений МНК.

Задание 27. Матрица масштабирования $S = \text{diag}(2, 3, 0{,}5)$ применяется к объекту в 3D. Во сколько раз изменится его объём?

Задание 28. Даны векторы $\mathbf{a}=(2,1,3)$, $\mathbf{b}=(1,0,2)$, $\mathbf{c}=(4,1,7)$. Проверь, компланарны ли они (лежат ли в одной плоскости), вычислив определитель.

Задание 29. В нормализующем потоке используется нижнетреугольная матрица Холецкого $L = \begin{pmatrix} 2 & 0 & 0 \\ 1 & 3 & 0 \\ 0{,}5 & 1 & 4 \end{pmatrix}$. Для вычисления лог-правдоподобия нужен $\ln|\det(L)|$. Найди $\det(L)$ и $\ln|\det(L)|$ (округли до сотых, $\ln 24 \approx 3{,}18$).

Задание 30. В задаче PCA получена ковариационная матрица $\Sigma = \begin{pmatrix} 6 & 2 & 0 \\ 2 & 3 & 0 \\ 0 & 0 & 0 \end{pmatrix}$. Найди $\det(\Sigma)$ и объясни, почему нулевая строка гарантированно даёт вырожденную матрицу.

Частые ошибки

Даже если формулы кажутся простыми, тут есть где ошибиться. Вот список ловушек, в которые чаще всего попадают студенты.

  • Перепутать порядок вычитания. Формула $ad - bc$, а не $bc - ad$. Знак определителя критичен — перепутав порядок, ты получишь противоположный по знаку результат, а иногда это меняет вывод "обратима/необратима" на противоположный (хотя и не в случае с нулём — тут знак роли не играет, но во всех остальных случаях играет).

  • Забыть про знаки минус-слагаемых в правиле Саррюса. Самая частая ошибка — сложить все шесть произведений вместо того, чтобы три вычесть. Формула $aei + bfg + cdh - ceg - bdi - afh$, знаки чередуются не случайно.

  • Перепутать главную и побочную диагональ схемы Саррюса. Если неправильно дописать столбцы (не с той стороны или не те столбцы), диагонали "поедут", и весь расчёт собьётся.

  • Считать, что определитель существует у любой матрицы. Определитель определён только для квадратных матриц. У матрицы $2 \times 3$ или $5 \times 2$ определителя попросту нет — это не "забытая операция", а математически бессмысленное выражение.

  • Путать $\det(A) = 0$ с "матрица нулевая". Матрица может быть вырожденной (det = 0), но при этом не содержать ни одного нулевого элемента — важна не величина отдельных чисел, а линейная зависимость строк/столбцов между собой.

  • Забывать модуль при вычислении площади и объёма. Определитель может быть отрицательным (если ориентация векторов "перевёрнута"), но площадь и объём — величины неотрицательные, поэтому в геометрических формулах всегда нужен модуль: $S = |\det(A)|$, а не просто $\det(A)$.

  • Использовать правило Саррюса для матриц не $3\times3$. Этот конкретный мнемонический трюк работает только для порядка 3. Для матриц $4\times4$ и выше нужен другой метод — разложение по строке/столбцу или приведение к треугольному виду, о чём пойдёт речь в следующем уроке.

Главное запомнить

  • Определитель — это число, которое можно вычислить только для квадратной матрицы, и оно кодирует, как матрица меняет объём (площадь) и ориентацию пространства.

  • Для матрицы $2\times2$: $\det(A) = ad - bc$ — произведение главной диагонали минус произведение побочной.

  • Для матрицы $3\times3$ используй правило Саррюса: $\det(A) = aei + bfg + cdh - ceg - bdi - afh$, либо мнемоническую схему с дописанными столбцами.

  • Геометрически $|\det(A)|$ для матрицы $2\times2$ — это площадь параллелограмма на векторах-строках, а для $3\times3$ — объём параллелепипеда.

  • $\det(A) = 0$ означает, что строки (столбцы) матрицы линейно зависимы, а сама матрица вырождена (сингулярна) и не имеет обратной.

  • Обратная матрица существует тогда и только тогда, когда $\det(A) \ne 0$ — эта проверка должна стать рефлексом при любой работе с матрицами в коде.

  • В ML вырожденная ковариационная матрица чаще всего сигнализирует о мультиколлинеарности признаков — дублирующихся или линейно зависимых столбцах в данных.

  • Определитель матрицы Якоби показывает, во сколько раз нелинейное преобразование локально растягивает или сжимает объём — это ключевая идея в формуле замены переменных для плотностей вероятности.

  • Знак определителя несёт информацию об ориентации: положительный — ориентация сохранена, отрицательный — пространство "отражено", как в зеркале.

  • Для треугольных и диагональных матриц определитель считается мгновенно — это просто произведение диагональных элементов, без всяких формул Саррюса.

Связь с другими темами курса

Этот урок — прямое продолжение темы "Операции над матрицами" (урок 157): без понимания того, как устроена матрица и её элементы, невозможно было бы разобрать формулу определителя. В следующем уроке, "Свойства определителей" (урок 159), мы разберём, как определитель ведёт себя при операциях над матрицей — перестановке строк, умножении строки на число, сложении строк — и научимся вычислять определители произвольного порядка через разложение по строке, не ограничиваясь матрицами $3\times3$.

Дальше по курсу определитель станет рабочим инструментом сразу в нескольких темах: в правиле Крамера для решения систем линейных уравнений, в формуле обратной матрицы, в вычислении собственных значений (через характеристический многочлен $\det(A - \lambda I) = 0$), и в анализе линейной независимости векторов и рангов матриц. А ещё раньше в курсе, в темах про векторное и смешанное произведение (уроки 154 и 155), ты уже фактически встречал определитель — просто в других обозначениях: векторное произведение $\mathbf{a} \times \mathbf{b}$ вычисляется через определитель $3\times3$ с ортами $\mathbf{i}, \mathbf{j}, \mathbf{k}$ в первой строке, а смешанное произведение трёх векторов — это в точности определитель $3\times3$ из их координат, тот самый объём параллелепипеда, который мы обсуждали выше.

Интересные факты

  • Определители были открыты раньше матриц: Лейбниц описал их в 1693 году, а систематическую матричную алгебру Артур Кэли построил только в 1858-м — то есть определителю понадобилось почти 165 лет, чтобы обзавестись "домом" в виде матрицы, в которой он живёт.

  • В Японии определитель для решения систем уравнений независимо открыл Сэки Такакадзу ещё в 1683 году — за десять лет до Лейбница, но эта работа долгое время оставалась почти неизвестной за пределами Японии из-за политики самоизоляции страны в эпоху Эдо.

  • Вычисление определителя матрицы $n \times n$ "в лоб" по формуле Лейбница требует $n!$ слагаемых — для матрицы $10\times10$ это уже 3 628 800 произведений. Именно поэтому на практике определители больших матриц никогда не считают по определению, а используют методы вроде LU-разложения, которые справляются за $O(n^3)$ операций.

  • В компьютерной графике и физических движках знак определителя матрицы преобразования используется для мгновенной проверки: не "вывернулась ли наизнанку" 3D-модель после трансформации — отрицательный определитель означает, что нормали поверхностей смотрят не в ту сторону, и объект будет отрисован некорректно.

  • Слово "детерминант" тем и хорошо: оно буквально означает "определяющий" — этот единственный скаляр полностью определяет, обратима ли матрица, даже если сама матрица состоит из миллионов чисел.

Лайфхаки и полезные трюки

  • Быстрая проверка на вырожденность без вычислений. Если ты видишь, что одна строка (или столбец) — это точная копия другой, или получается умножением другой на число, или является суммой двух других строк — можешь сразу писать $\det = 0$, не считая по формуле.

  • Треугольные и диагональные матрицы — подарок судьбы. Если матрица верхне- или нижнетреугольная (или диагональная), определитель — это просто произведение элементов главной диагонали. Не трать время на формулу Саррюса, если можешь заметить нули заранее.

  • Схема Саррюса — рисуй, а не запоминай. Допиши мысленно (или на бумаге) первые два столбца матрицы справа от неё — и диагонали станут видны буквально глазами, без риска перепутать знаки.

  • Проверяй себя через $\det(A) = \det(A^T)$. Определитель матрицы не меняется при транспонировании — если у тебя есть время, можно посчитать определитель дважды (для $A$ и для $A^T$) и свериться. Если ответы разошлись — где-то ошибка в арифметике.

  • В коде — всегда проверяй np.linalg.det() перед обращением матрицы. Прежде чем вызывать np.linalg.inv(A), посмотри на np.linalg.det(A): если оно близко к нулю (даже не строго ноль, а, скажем, $10^{-15}$ — типичный эффект накопления ошибок округления), обращение матрицы даст численно нестабильный, "взрывающийся" результат.

  • Используй определитель для быстрой проверки коллинеарности/компланарности. Вместо того чтобы искать коэффициент пропорциональности вручную, просто вычисли определитель матрицы из координат векторов: если получился 0, векторы зависимы (параллельны для двух векторов, лежат в одной плоскости для трёх).

  • Для симметричных матриц (вроде ковариационных) держи в уме знак. У корректной ковариационной матрицы определитель должен быть неотрицательным (а для невырожденной — строго положительным); отрицательный определитель ковариационной матрицы — верный признак ошибки в вычислениях, а не законный результат.


Определитель — это малюсенькая формула, за которой скрывается целый мир: площади и объёмы, обратимость матриц, устойчивость систем уравнений, корректность вероятностных моделей. Когда в следующий раз твоя модель выдаст загадочную ошибку Singular matrix или LinAlgError, ты будешь точно знать, куда смотреть — на определитель матрицы, которая отказывается обращаться. А теперь попробуй сам: возьми любую матрицу $3\times3$ из своего курса или проекта и посчитай её определитель вручную, прежде чем доверить это NumPy. Понимание того, что происходит "под капотом", — это именно то, что отличает специалиста, который знает, почему модель сломалась, от того, кто просто перезапускает ячейку в надежде на удачу.

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!