余子式展开
\(|A|=\sum_j a_{ij}C_{ij}\),优先选含 0 多的行或列,计算量最小。
18.06 · 第 18 课
上一课给出了行列式的性质,这一课给出具体算法:按行(列)展开(cofactor expansion)、全排列意义下的"大公式"(big formula),以及用伴随矩阵表达逆矩阵。
设 \(A=(a_{ij})\) 为 \(n\times n\) 矩阵。删去第 \(i\) 行与第 \(j\) 列得到的 \((n-1)\times(n-1)\) 子矩阵的行列式称为 \(M_{ij}\)(余子式,minor)。
代数余子式(cofactor):
\[C_{ij} = (-1)^{i+j}\,M_{ij}.\]符号棋盘:\((-1)^{i+j}\) 的符号按
\[\begin{bmatrix} + & - & + & \cdots \\ - & + & - & \cdots \\ + & - & + & \cdots \\ \vdots & & & \ddots \end{bmatrix}\]交错排列。
定理(按第 \(i\) 行展开):
\[|A| = a_{i1}C_{i1} + a_{i2}C_{i2} + \cdots + a_{in}C_{in} = \sum_{j=1}^{n} a_{ij}\,C_{ij}.\]同样可按第 \(j\) 列展开:
\[|A| = \sum_{i=1}^{n} a_{ij}\,C_{ij}.\]以 \(3\times 3\) 为例沿第一行展开:
\[\begin{vmatrix} a & b & c \\ d & e & f \\ g & h & i \end{vmatrix} = a\begin{vmatrix} e & f \\ h & i \end{vmatrix} - b\begin{vmatrix} d & f \\ g & i \end{vmatrix} + c\begin{vmatrix} d & e \\ g & h \end{vmatrix}.\]实用提示:展开时优先选择含 0 较多的行或列,可显著减少计算量。
行列式最"完整"的表达式是对所有排列求和:
\[|A| = \sum_{\sigma \in S_n} \operatorname{sgn}(\sigma)\, a_{1\sigma(1)}\,a_{2\sigma(2)}\cdots a_{n\sigma(n)}.\]其中 \(S_n\) 是 \(n\) 个元素的排列群,\(\operatorname{sgn}(\sigma)\) 在偶排列时为 \(+1\)、奇排列时为 \(-1\)。对 \(n=3\) 共有 \(3!=6\) 项:
\[|A| = aei + bfg + cdh - ceg - bdi - afh.\]项数随 \(n\) 指数增长:\(n=10\) 时已有 \(10! = 3628800\) 项。所以实际计算中我们几乎从不使用大公式,而是借助消元(\(|U|=\prod u_{ii}\))或按行展开。
为何还要讲大公式?它在理论上把行列式显式地写成矩阵元的代数式,证明性质(如 \(|AB|=|A||B|\))时比消元观点更直接。
记 \(C=(C_{ij})\) 为代数余子式矩阵,其转置
\[\operatorname{adj}(A) = C^{\mathsf{T}}\]称为 伴随矩阵(adjugate)。
核心恒等式:
\[A\,C^{\mathsf{T}} = C^{\mathsf{T}}A = |A|\,I.\]验证 \((i,i)\) 位置:\(A\) 的第 \(i\) 行乘以 \(C^{\mathsf{T}}\) 的第 \(i\) 列,恰好是按第 \(i\) 行展开,得 \(|A|\)。
验证 \((i,j),\,i\neq j\) 位置:\(A\) 的第 \(i\) 行乘以 \(C^{\mathsf{T}}\) 的第 \(j\) 列,相当于把 \(A\) 的第 \(j\) 行换成第 \(i\) 行后再按第 \(j\) 行展开——有两行相同,行列式为 0。
推论(逆矩阵公式):若 \(|A|\neq 0\),
\[A^{-1} = \frac{1}{|A|}\,C^{\mathsf{T}} = \frac{1}{\det A}\,\operatorname{adj}(A).\]以 \(2\times 2\) 为例:
\[A = \begin{bmatrix} a & b \\ c & d \end{bmatrix},\qquad A^{-1} = \frac{1}{ad-bc}\begin{bmatrix} d & -b \\ -c & a \end{bmatrix}.\]注意:伴随矩阵公式在理论上优美,但数值计算逆矩阵时用高斯消元远比算 \(n^2\) 个余子式高效。
问题 1:\(C_{12}\) 与余子式 \(M_{12}\) 的关系是?
问题 2:"大公式"中,\(n\times n\) 矩阵的行列式展开共有多少项?
问题 3:设 \(\operatorname{adj}(A)\) 为 \(A\) 的伴随矩阵,则逆矩阵可表为?
问题 4:求 \(\displaystyle\begin{vmatrix} 1 & 2 \\ 3 & 5 \end{vmatrix}\)。
\(|A|=\sum_j a_{ij}C_{ij}\),优先选含 0 多的行或列,计算量最小。
\(|A|=\sum_{\sigma}\operatorname{sgn}(\sigma)\,a_{1\sigma(1)}\cdots a_{n\sigma(n)}\),共 \(n!\) 项,理论意义大于实用。
\(A\,C^{\mathsf{T}}=|A|I\),由此给出 \(A^{-1}=\operatorname{adj}(A)/|A|\)。
第 \(i\) 行乘到第 \(j\) 行余子式之和为 0(\(i\neq j\)),这是伴随矩阵恒等式的副产品。
lecture_slides/lecture_19.pdflecture_summaries/lecture_2_4_summary.pdf