Determinants#
Определитель, или детерминант, представляет собой важную числовую характеристику квадратной матрицы. Определителем матрицы называется полилинейная кососимметричная функция от строк матрицы. Точнее говоря, определитель — это функция \(\det \colon \mathbb R^{n\times n} \to \mathbb R\), удовлетворяющая трём аксиомам:
(кососимметричность) \(\det \boldsymbol B = -\det \boldsymbol A\), если матрица \(\boldsymbol B\) получена перестановкой каких-либо двух строк матрицы \(\boldsymbol A\);
(полилинейность) определитель линеен по каждой строке:
если матрица \(\boldsymbol B\) получена из матрицы \(\boldsymbol A\) умножением некоторой её строки на число \(\lambda\), то \(\det \boldsymbol B = \lambda \det \boldsymbol A\);
если \(i\)-я строка матрицы \(\boldsymbol A\) равна сумме \(i\)-ых строк матриц \(\boldsymbol B\) и \(\boldsymbol C\), а все остальные строки этих матриц совпадают, то \(\det \boldsymbol A = \det \boldsymbol B + \det \boldsymbol C\).
(нормировка) \(\det \boldsymbol I = 1\).
Можно показать, что существует только одна функция, удовлетворяющая этим трём свойствам. Определитель матрицы \(\boldsymbol A\) обозначают также \(\vert \boldsymbol A\vert\).
Properties of determinants#
Из аксиом 1-3 напрямую выводятся следующие свойства определителя:
\(\det \boldsymbol A = 0\), если матрица \(\boldsymbol A\) содержит нулевую строку или две пропорциональные строки;
определитель не меняется при основном элементарном преобразовании вида
\[ \boldsymbol a_i^\top := \boldsymbol a_i^\top - \lambda \boldsymbol a_j^\top; \]\(\det (\lambda\boldsymbol A) = \lambda^n \det \boldsymbol A\);
определитель диагональной матрицы равен произведению диагональных элементов.
Перечислим ещё несколько широко используемых свойств детерминантов.
Определитель треугольной матрицы равен произведению диагональных элементов.
Proof
Если все элементы главной диагонали \(u_1, \ldots, u_n\) треугольной матрицы \(\boldsymbol U\) не равны нулю, то основными элементарными преобразованиями матрица \(\boldsymbol U\) приводится к диагональному виду \(\boldsymbol \Lambda = \mathrm{diag}\{u_1, \ldots, u_n\}\) с теми же самыми элементами на диагонали. Эти элементарные преобразования не меняют определитель, поэтому \(\det \boldsymbol U = \det\boldsymbol \Lambda = u_1\cdot\ldots \cdot u_n\).
Если же хотя бы один диагональный элемент \(u_k = 0\), то в ходе диагонализации методом Гаусса образуется нулевая строка, поэтому \(\det \boldsymbol U = 0\).
\(\det \boldsymbol A = 0\) тогда и только тогда, когда матрица \(\boldsymbol A\) вырождена.
Proof
Прямой ход метода Гаусса превращает матрицу \(\boldsymbol A\) в верхнюю треугольную матрицу \(\boldsymbol U\), задействуя преимущественно основные элементарные преобразования; иногда к ним добавляются перестановки строк. Первые не меняют определитель, а вторые меняют его знак, поэтому \(\det \boldsymbol A =\pm \det \boldsymbol U\). Матрица \(\boldsymbol A \in \mathbb R^{n\times n}\) невырождена тогда и только тогда, когда \(\mathrm{rank}(\boldsymbol A) = \mathrm{rank}(\boldsymbol U) = n\), что свою очередь эквивалентно тому, что все диагональные элементы матрицы \(\boldsymbol U\) не равны нулю. Таким образом, наше утверждение следует из предыдущего свойства.
\(\vert\boldsymbol{AB}\vert = \vert\boldsymbol{A}\vert \cdot \vert\boldsymbol{B}\vert\).
Proof
Если матрица \(\boldsymbol B\) вырождена, то обе части доказываемого равенства равны нулю. В противном случае положим \(D(\boldsymbol A) = \frac{\vert\boldsymbol{AB}\vert}{\vert\boldsymbol B\vert}\) и покажем, что функция \(D(\boldsymbol A)\) удовлетворяет всем трём аксиомам, характеризующим определитель.
Обмен строк матрицы \(\boldsymbol A\) влечёт обмен тех же строк матрицы \(\boldsymbol{AB}\), поэтому \(\vert\boldsymbol{AB}\vert \) меняет знак, и то же самое делает \(D(\boldsymbol A)\).
При умножении \(i\)-й строки матрицы \(\boldsymbol A\) на число \(\lambda\) \(i\)-я строка матрицы \(\boldsymbol{AB}\) тоже умножается на \(\lambda\), что приводит к умножению \(D(\boldsymbol A)\) на \(\lambda\).
Если \(i\)-я строка матрицы \(\boldsymbol A\) представлена в виде суммы двух строк, \(\boldsymbol a_i^\top = \boldsymbol c^\top + \boldsymbol d^\top\), то \(i\)-я строка матрицы \(\boldsymbol{AB}\) равна
\[ \boldsymbol a_i^\top \boldsymbol B = (\boldsymbol c^\top + \boldsymbol d^\top)\boldsymbol B = \boldsymbol c^\top \boldsymbol B + \boldsymbol d^\top \boldsymbol B. \]Если обозначить через \(\boldsymbol C\) и \(\boldsymbol D\) матрицы, полученные заменой \(i\)-й строки матрицы \(\boldsymbol A\) на \(\boldsymbol c^\top\) и \(\boldsymbol d^\top\) соответствено, то получим
\[ D(\boldsymbol A) = \frac{\vert \boldsymbol{CB} \vert + \vert\boldsymbol{DB}\vert}{\vert \boldsymbol{B}\vert} = D(\boldsymbol C) + D(\boldsymbol D). \]Наконец, \(D(\boldsymbol I) = \frac{\vert\boldsymbol{B}\vert}{\vert\boldsymbol B\vert} = 1\).
\(\det \boldsymbol A^\top = \det \boldsymbol A\).
Proof
Справедливо LU-разложение вида \(\boldsymbol{PA} = \boldsymbol{LU}\). После транспонирования получаем \(\boldsymbol A^\top \boldsymbol P^\top = \boldsymbol U^\top \boldsymbol L^\top\). Из предыдущего свойства вытекает, что
\[ \vert \boldsymbol P\vert \vert \boldsymbol A\vert = \vert \boldsymbol L\vert \vert \boldsymbol U\vert, \quad \vert \boldsymbol A^\top\vert \vert \boldsymbol P^\top\vert = \vert \boldsymbol U^\top\vert \vert \boldsymbol L^\top\vert. \]Заметим следующее:
\(\det \boldsymbol L = \det \boldsymbol L^\top = 1\), так как нижняя треугольная матрица \(\boldsymbol L\) содержит только единицы на главной диагонали;
\(\det \boldsymbol U = \det \boldsymbol U^\top\), так как главные диагонали треугольных матриц \(\boldsymbol U\) и \(\boldsymbol U^\top\) совпадают;
\(\det \boldsymbol P = \det \boldsymbol P^\top = \pm 1\), так как для матрицы перестановки \(\boldsymbol P\) справедливо равенство \(\boldsymbol P \boldsymbol P^\top = \boldsymbol I\).
Следовательно, \(\det \boldsymbol A^\top = \det \boldsymbol A\).
Инвариантность определителя относительно транспонирования означает, что во всех перечисленных выше свойствах детерминантов можно заменить «строки» на «столбцы», и утверждения останутся верными.
Из формулы для определителя произведения матриц вытекает, что детерминант обратной матрицы равен \(\det \boldsymbol A^{-1} = \frac 1{\det \boldsymbol A}\).
Oriented volume#
У определителя есть любопытная геометрическая интерпретация в лице ориентированного объёма. Обозначим через \(V(\boldsymbol u_1, \ldots, \boldsymbol u_n)\) объём параллелепипеда, построенного на векторах \(\boldsymbol u_1, \ldots, \boldsymbol u_n \in \mathbb R^n\). Если записать эти векторы в виде матрицы по столбцам, то оказывается, что модуль её определителя равен объёму параллелепипеда:
Если же модуль не ставить, то получится ориентированный объём, или объём со знаком: он может быть как положительным, так и отрицательным в зависимости от того, как ориентирован набор векторов \(\boldsymbol u_1, \ldots, \boldsymbol u_n\).
Почему же формула (37) вообще верна? Убедимся, что объём параллелепипеда на векторах удовлетворяет аксиомам определителя.
Обмен двух векторов местами, очевидно, не меняет значение объёма.
Если какое-то ребро параллелепипеда равно сумме двух других, то и объёмы складываются:
\[ V(\boldsymbol u_1, \ldots, \boldsymbol v + \boldsymbol w, \ldots \boldsymbol u_n) = V(\boldsymbol u_1, \ldots, \boldsymbol v,\ldots, \boldsymbol u_n) + V(\boldsymbol u_1, \ldots, \boldsymbol w, \ldots, \boldsymbol u_n). \]А при умножении одного из рёбер на число \(\alpha\) весь объём умножается на него:
\[ V(\boldsymbol u_1, \ldots, \alpha\boldsymbol u_i, \ldots, \boldsymbol u_n) = \alpha V(\boldsymbol u_1, \ldots, \boldsymbol u_i, \ldots, \boldsymbol u_n). \]Наконец, объём единичного куба соответствует определителю единичной матрицы, и оба они равны единице.
Big Formula#
Иногда детерминант матрицы
определяют по явной формуле
где \(S_n\) — множество перестановок множества \(\{1, 2, \ldots, n\}\), \((-1)^\sigma = +1\), если перестановка чётная и \(-1\) в противном случае.
Упражнение. Проверьте, что определение детерминанта по формуле (38) согласуется с приведёнными выше аксиомами 1-3.
Proof
Линейность по строкам вытекает из самого вида формулы (38), ведь элемент каждой строки входит в каждое слагаемое ровно один раз.
Если \(\boldsymbol A = \boldsymbol I\), то единственное ненулевое слагаемое в сумме (38) соответствует тождественной перестановке \(\sigma\), поэтому вся сумма равна \(1\).
Наконец, разберёмся с перестановкой строк. Формула (38) для матрицы, полученной обменом \(i\)-й и \(j\)-й строки матрицы \(\boldsymbol A\), примет вид
В каждом слагаемом перестановка \(\sigma\) отличается от перестановки в исходной формуле (38) лишь одной транспозицией. Добавление одной транспозиции меняет знак перестановки, поэтому знак каждого слагаемого должен измениться, и, следовательно, меняется знак всего определителя.
Формула (38) содержит \(n!\) слагаемых, что делает её бесполезной для практики при хоть сколько-нибудь больших значениях \(n\). Однако при малых \(n\) она довольно удобна: имеем
Cofactor formula#
Определитель матрицы размера \(3\times 3\) можно переписать как
или же как
Получилась сумма произведений элементов первой строки на дополнительные миноры — определители подматриц исходной матрицы, полученные вычёркиванием первой строки и столбца, в котором находится умножаемый на минор элемент. Заметим также, что второе слагаемое взято со знаком «минус». Такой способ подсчёта детерминанта называется разложением по строке. В общем случае справедливо равенство
где \(M_{ij}\) — дополнительный минор, полученный вычёркиванием \(i\)-й строки и \(j\)-го столбца. Аналогичная формула справедлива и для разложения по столбцу.
Упражнение. Докажите формулу разложения детерминанта по строке, проверив, что для правой части равенства (39) выполняются аксиомы 1-3 определителя.
Proof
Заметим, то минор \(M_{ij}\) не зависит от \(i\)-й строки матрицы \(\boldsymbol A\) и линеен по всем остальным строкам (это же определитель). Следовательно, выражение \((-1)^{i+j}a_{ij} M_{ij}\) линейно по каждой строке матрицы \(\boldsymbol A\), равно как и их сумма.
Если \(\boldsymbol A = \boldsymbol I_n\), то
На десерт у нас снова обмен строк. Если \(i\)-я строка не участвует в обмене, то знак каждого слагаемого в правой части (39) меняется за счёт изменения знака минора \(M_{ij}\). Пусть теперь \(i\)-я строка обменялась с \(k\)-й, \(i < k\). Тогда правая часть (39) превращается в
где минор \(\widehat M_{ij}\) отличается от минора \(M_{ij}\) тем, что на месте \(k\)-й строки у него находится \(i\)-я. Переставляя соседние строки \(k-i - 1\) раз, превратим минор \(\widehat M_{ij}\) в \(M_{kj}\), не забыв умножить на \((-1)^{k-i-1}\) за счёт смены знака при каждой перестановке. В итоге получаем, что
то есть знак действительно поменялся в результате обмена строк.
Особенно удобно разлагать определитель по таким строкам/столбцам, которые содержат много нулей, поскольку число слагаемых в таком разложении равно количеству ненулевых элементов.
Пример. Вычислим определитель трёхдиагональной матрицы \(\boldsymbol A_n\)
Имеем \(D_1 = 2\), \(D_2 = 4 -1 = 3\). Похоже, что \(D_n = n+1\). Чтобы это доказать, выведем рекуррентную формулу для \(D_n\), разложив его по первой строке:
По индукции отсюда получаем, что \(D_n = 2n - (n-1) = n+1\).
Cofactors and inverse matrix#
Коэффициент при \(a_{ij}\) в разложении определителя по строке называется алгебраическим дополнением: \(C_{ij} = (-1)^{i+j} M_{ij}\). Таким образом,
С помощью матрицы алгебраических дополнений \(\boldsymbol C\) можно явно выписать формулу для обратной матрицы:
Чтобы её доказать, надо проверить равенство
Наличие \(\det \boldsymbol A\) везде на главной диагонали следует из формулы (40).
Вопрос на подумать. Почему все остальные внедиагональные элементы равны нулю?
Answer
Каждый такой элемент равен
а эта сумма представляет собой разложение по \(k\)-й строке определителя матрицы \(\boldsymbol A'\), полученной заменой в матрице \(\boldsymbol A\) \(k\)-й строки на \(i\)-ю. Такая матрица содержит две одинаковые строки, поэтому её определитель равен нулю.
To calculate a determinant, use np.linalg.det
:
import numpy as np
from scipy.linalg import hilbert
A = hilbert(2)
A
array([[1. , 0.5 ],
[0.5 , 0.33333333]])
np.linalg.det(A)
0.08333333333333333
Exercises#
Prove that \(\det(\boldsymbol A) = 0\) if \(\boldsymbol A\) is a skew-symmetric matrix of odd shape.
Prove that \(\vert\det \boldsymbol Q\vert = 1\) if \(\boldsymbol Q\) is an orthogonal matrix.
Matrices \(\boldsymbol A\) and \(\boldsymbol B\) are similar (\(\boldsymbol A \sim \boldsymbol B\)) if there exists a nonsingular matrix \(\boldsymbol M\) such that \(\boldsymbol B = \boldsymbol M^{-1} \boldsymbol {AM}\). Prove that \(\det \boldsymbol A = \det \boldsymbol B\) if \(\boldsymbol A \sim \boldsymbol B\).