← 返回《人工智能数学基础》
📑 查看全课大纲(第 62 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

行列式按k行展开

约 20 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

行列式按k行展开

小象实战讲义 · 人工智能数学基础

行列式是线性代数中刻画方阵性质的核心工具。我们已经掌握了按一行(或一列)展开计算行列式的递归方法。本节将这一强大工具进行推广,学习按k行(或k列)展开的拉普拉斯定理。这不仅是理论上的深化,更是处理分块矩阵行列式的利器,能极大地简化复杂矩阵的行列式计算,为后续学习矩阵分解等高级主题奠定基础。

💡 核心导读

本节你将掌握:

  1. k阶子式与代数余子式:理解如何从n阶行列式中选取k行k列构成子式,并定义其对应的代数余子式。
  2. 拉普拉斯定理:掌握行列式按任意k行展开的公式,理解其作为单行展开的推广本质。
  3. 分块三角矩阵的行列式:应用拉普拉斯定理,推导并证明分块上(下)三角矩阵的行列式等于其对角块行列式的乘积。
  4. 定理的应用:通过具体例题,掌握利用分块技巧和拉普拉斯定理简化行列式计算的方法。

1. k阶子式与代数余子式

在n阶行列式 D=det(A)D = \det(A) 中,我们任意取定k行(行标为 i1<i2<<iki_1 < i_2 < \dots < i_k)和k列(列标为 j1<j2<<jkj_1 < j_2 < \dots < j_k)。

定义 1.1 (k阶子式) 位于这k行k列交叉处的 k2k^2 个元素,按照它们在原行列式 DD 中的相对位置次序所构成的k阶行列式,称为 DD 的一个 k阶子式,记作: M=D(i1,i2,,ikj1,j2,,jk)M = D \begin{pmatrix} i_1, i_2, \dots, i_k \ j_1, j_2, \dots, j_k \end{pmatrix}

定义 1.2 (余子式)DD 中划去选定的这k行k列后,剩下的元素按照原有次序构成的 nkn-k 阶行列式,称为该k阶子式 MM余子式,记作 McM^c

定义 1.3 (代数余子式) k阶子式 MM代数余子式 AA 定义为它的余子式 McM^c 乘上一个由行标和列标决定的符号因子: A=(1)(i1+i2++ik)+(j1+j2++jk)McA = (-1)^{(i_1 + i_2 + \dots + i_k) + (j_1 + j_2 + \dots + j_k)} \cdot M^c

理解:当 k=1k=1 时,即取定第 ii 行第 jj 列,得到的1阶子式就是元素 aija_{ij},其代数余子式正是我们熟悉的 (1)i+jMij(-1)^{i+j}M_{ij}。因此,按k行展开是经典按一行展开的自然推广。

示例:考虑一个5阶行列式 D=det(aij)D = \det(a_{ij})。取定第1、2行和第4、5列,得到的二阶子式为: M=D(1,24,5)=a14a15a24a25M = D \begin{pmatrix} 1, 2 \ 4, 5 \end{pmatrix} = \begin{vmatrix} a_{14} & a_{15} \ a_{24} & a_{25} \end{vmatrix} 划去第1、2行和第4、5列后,余子式为剩下的第3、4、5行与第1、2、3列构成的3阶行列式: Mc=a31a32a33a41a42a43a51a52a53M^c = \begin{vmatrix} a_{31} & a_{32} & a_{33} \ a_{41} & a_{42} & a_{43} \ a_{51} & a_{52} & a_{53} \end{vmatrix} 其代数余子式为: A=(1)(1+2)+(4+5)Mc=(1)12Mc=McA = (-1)^{(1+2)+(4+5)} \cdot M^c = (-1)^{12} \cdot M^c = M^c

2. 拉普拉斯定理(按k行展开)

定理 2.1 (拉普拉斯定理) 在n阶行列式 DD 中,任意取定k行(1kn11 \le k \le n-1),则 DD 等于位于这k行中的所有可能的k阶子式与其对应的代数余子式的乘积之和。

用数学语言精确表述:取定行标 i1<i2<<iki_1 < i_2 < \dots < i_k,则 D=1j1<j2<<jknD(i1,i2,,ikj1,j2,,jk)(1)(i1++ik)+(j1++jk)M(j1,,jk)cD = \sum_{1 \le j_1 < j_2 < \dots < j_k \le n} D \begin{pmatrix} i_1, i_2, \dots, i_k \ j_1, j_2, \dots, j_k \end{pmatrix} \cdot (-1)^{(i_1+\dots+i_k)+(j_1+\dots+j_k)} \cdot M^c_{(j_1,\dots,j_k)} 其中,求和遍历所有可能的k列组合 j1<j2<<jkj_1 < j_2 < \dots < j_kM(j1,,jk)cM^c_{(j_1,\dots,j_k)} 是对应子式的余子式。

说明

  • 项数:从n列中选取k列的组合数为 CnkC_n^k,因此展开式共有 CnkC_n^k 项。
  • 对称性:定理对列同样成立,即可以按k列展开。
  • 应用场景:当选取的k行(或列)中含有较多零元素时,许多子式为零,展开式将大大简化。分块三角矩阵正是这种情形的典型代表。

3. 分块三角矩阵的行列式

分块矩阵是处理大规模矩阵的有力工具。拉普拉斯定理使得计算其行列式变得异常简洁。

定理 3.1 (分块下三角矩阵的行列式) 设方阵 AA 具有如下分块下三角形式: A=(A1OCA2)A = \begin{pmatrix} A_1 & O \ C & A_2 \end{pmatrix} 其中 A1A_1kk 阶方阵,A2A_2rr 阶方阵 (k+r=nk+r=n),CCr×kr \times k 矩阵,OOk×rk \times r 零矩阵。则 det(A)=det(A1)det(A2)\det(A) = \det(A_1) \cdot \det(A_2)

证明: 对行列式 det(A)\det(A) 按前 kk 行应用拉普拉斯定理。

  1. 考虑前 kk 行的任意一个 kk 阶子式。由于前 kk 行的后 rr 列(对应分块 OO)全为零,因此,只有选取前 kk 列构成的子式可能非零。选取其他任何列(即包含后 rr 列中的至少一列),由于该子式中至少有一列元素全来自零块 OO,根据行列式性质,该子式的值必为零。
  2. 唯一非零的k阶子式就是由前 kk 行、前 kk 列构成的 det(A1)\det(A_1)
  3. 该子式对应的余子式,正是划去前 kk 行、前 kk 列后剩下的矩阵 A2A_2 的行列式 det(A2)\det(A_2)
  4. 计算符号因子:行标和为 1+2++k1+2+\dots+k,列标和也为 1+2++k1+2+\dots+k,总和为 2(1+2++k)2(1+2+\dots+k),是一个偶数。故 (1)偶数=1(-1)^{\text{偶数}} = 1
  5. 根据拉普拉斯定理,det(A)\det(A) 就等于这一项:det(A1)1det(A2)\det(A_1) \cdot 1 \cdot \det(A_2)

证毕。

推论 3.2 (分块上三角矩阵的行列式) 设方阵 AA 具有分块上三角形式: A=(A1COA2)A = \begin{pmatrix} A_1 & C \ O & A_2 \end{pmatrix} 则同样有 det(A)=det(A1)det(A2)\det(A) = \det(A_1) \cdot \det(A_2)

证明思路:矩阵转置后变为分块下三角形式,而行列式转置不变,即 det(A)=det(AT)=det(A1T)det(A2T)=det(A1)det(A2)\det(A) = \det(A^T) = \det(A_1^T) \cdot \det(A_2^T) = \det(A_1) \cdot \det(A_2)

推广:此结论可推广到更多分块的情形。若方阵 AA 为分块上(或下)三角矩阵,其主对角线上的子块均为方阵,则 AA 的行列式等于主对角线上各子块行列式的乘积。 det(A11A22OAmm)=det(A11)det(A22)det(Amm)\det \begin{pmatrix} A_{11} & * & \cdots & * \ & A_{22} & \cdots & * \ & & \ddots & \vdots \ O & & & A_{mm} \end{pmatrix} = \det(A_{11}) \det(A_{22}) \cdots \det(A_{mm})

4. 定理应用与计算示例

拉普拉斯定理和分块三角矩阵的行列式公式,能将复杂的高阶行列式计算分解为简单的低阶行列式计算。

示例 4.1:计算以下行列式 D=2300140032120503D = \begin{vmatrix} 2 & 3 & 0 & 0 \ -1 & 4 & 0 & 0 \ 3 & 2 & 1 & 2 \ 0 & 5 & 0 & 3 \ \end{vmatrix}

:观察矩阵,可以发现一个明显的分块结构。通过划分: D=2314000032051203=A1OCA2D = \begin{vmatrix} \left.\begin{matrix}2 & 3 \ -1 & 4\end{matrix}\right| & \begin{matrix}0 & 0 \ 0 & 0\end{matrix} \ \hline \begin{matrix}3 & 2 \ 0 & 5\end{matrix} & \left.\begin{matrix}1 & 2 \ 0 & 3\end{matrix}\right| \end{vmatrix} = \begin{vmatrix} A_1 & O \ C & A_2 \end{vmatrix} 其中, A1=(2314)A_1 = \begin{pmatrix} 2 & 3 \ -1 & 4 \end{pmatrix}, A2=(1203)A_2 = \begin{pmatrix} 1 & 2 \ 0 & 3 \end{pmatrix}. 这是一个分块下三角矩阵。根据定理3.1: D=det(A1)det(A2)=23141203=(2×43×(1))(1×32×0)=(8+3)3=11×3=33\begin{aligned} D &= \det(A_1) \cdot \det(A_2) \ &= \begin{vmatrix} 2 & 3 \ -1 & 4 \end{vmatrix} \cdot \begin{vmatrix} 1 & 2 \ 0 & 3 \end{vmatrix} \ &= (2\times4 - 3\times(-1)) \cdot (1\times3 - 2\times0) \ &= (8 + 3) \cdot 3 \ &= 11 \times 3 = 33 \end{aligned}

示例 4.2 (视频例题):计算行列式 2300014000001200034000005\begin{vmatrix} 2 & 3 & 0 & 0 & 0 \ -1 & 4 & 0 & 0 & 0 \ 0 & 0 & 1 & 2 & 0 \ 0 & 0 & 3 & 4 & 0 \ 0 & 0 & 0 & 0 & 5 \end{vmatrix} 通过适当分块,可视为分块对角矩阵(一种特殊的分块上/下三角矩阵),其行列式等于各对角块行列式之积:231412345=11(2)5=110\begin{vmatrix}2&3\-1&4\end{vmatrix} \cdot \begin{vmatrix}1&2\3&4\end{vmatrix} \cdot |5| = 11 \cdot (-2) \cdot 5 = -110

📝 动手练一练

  1. 练习1:利用拉普拉斯定理,按第一、二行展开计算以下行列式,并验证结果。 D1=1023011032011012D_1 = \begin{vmatrix} 1 & 0 & 2 & 3 \ 0 & -1 & 1 & 0 \ 3 & 2 & 0 & 1 \ 1 & 0 & 1 & 2 \end{vmatrix} 参考答案: 按第一、二行展开,共有 C42=6C_4^2=6 个二阶子式。行标和为 1+2=31+2=3,每个子式的代数余子式符号为 (1)3+(j1+j2)(-1)^{3+(j_1+j_2)}。逐一计算(贡献 = 子式 ×\times 余子式 ×\times 符号):

    • 列 (1,2):子式 1001=1\begin{vmatrix}1&0\0&-1\end{vmatrix}=-1,余子式 0112=1\begin{vmatrix}0&1\1&2\end{vmatrix}=-1,符号 (1)3+3=+(-1)^{3+3}=+,贡献 (1)×(1)=1(-1)\times(-1)=1
    • 列 (1,3):子式 1201=1\begin{vmatrix}1&2\0&1\end{vmatrix}=1,余子式 2102=4\begin{vmatrix}2&1\0&2\end{vmatrix}=4,符号 (1)3+4=(-1)^{3+4}=-,贡献 4-4
    • 列 (1,4):子式 1300=0\begin{vmatrix}1&3\0&0\end{vmatrix}=0,为零子式,贡献 00
    • 列 (2,3):子式 0211=2\begin{vmatrix}0&2\-1&1\end{vmatrix}=2,余子式 3112=5\begin{vmatrix}3&1\1&2\end{vmatrix}=5,符号 (1)3+5=+(-1)^{3+5}=+,贡献 1010
    • 列 (2,4):子式 0310=3\begin{vmatrix}0&3\-1&0\end{vmatrix}=3,余子式 3011=3\begin{vmatrix}3&0\1&1\end{vmatrix}=3,符号 (1)3+6=(-1)^{3+6}=-,贡献 9-9
    • 列 (3,4):子式 2310=3\begin{vmatrix}2&3\1&0\end{vmatrix}=-3,余子式 3210=2\begin{vmatrix}3&2\1&0\end{vmatrix}=-2,符号 (1)3+7=+(-1)^{3+7}=+,贡献 (3)×(2)=6(-3)\times(-2)=6

    求和:D1=1+(4)+0+10+(9)+6=4D_1 = 1 + (-4) + 0 + 10 + (-9) + 6 = 4。 交叉验证:按第一行直接展开,D1=1×(3)+2×5+3×(1)=4D_1 = 1\times(-3) + 2\times 5 + 3\times(-1) = 4,两种方法结果一致。

  2. 练习2:观察矩阵结构,使用分块法计算行列式。 D2=2007803091000411120005600012D_2 = \begin{vmatrix} 2 & 0 & 0 & 7 & 8 \ 0 & 3 & 0 & 9 & 10 \ 0 & 0 & 4 & 11 & 12 \ 0 & 0 & 0 & 5 & 6 \ 0 & 0 & 0 & 1 & 2 \end{vmatrix} 参考答案: 该矩阵是分块上三角矩阵: A=(A1COA2)A = \begin{pmatrix} A_1 & C \ O & A_2 \end{pmatrix},其中 A1=diag(2,3,4)A_1 = \text{diag}(2,3,4)A2=(5612)A_2 = \begin{pmatrix}5&6\1&2\end{pmatrix}。 因此,D2=det(A1)det(A2)=(2×3×4)×(5×26×1)=24×4=96D_2 = \det(A_1)\det(A_2) = (2\times3\times4) \times (5\times2 - 6\times1) = 24 \times 4 = 96

import numpy as np

# 练习1的验证计算
D1_matrix = np.array([[1, 0, 2, 3],
                      [0, -1, 1, 0],
                      [3, 2, 0, 1],
                      [1, 0, 1, 2]], dtype=float)
det_D1_np = np.linalg.det(D1_matrix)
print(f"练习1行列式值 (numpy计算): {det_D1_np:.0f}")

# 练习2的验证计算
D2_matrix = np.array([[2, 0, 0, 7, 8],
                      [0, 3, 0, 9, 10],
                      [0, 0, 4, 11, 12],
                      [0, 0, 0, 5, 6],
                      [0, 0, 0, 1, 2]], dtype=float)
det_D2_np = np.linalg.det(D2_matrix)
print(f"练习2行列式值 (numpy计算): {det_D2_np:.0f}")

# 演示分块计算过程
A1 = np.diag([2, 3, 4])
A2 = np.array([[5, 6], [1, 2]])
det_by_blocks = np.linalg.det(A1) * np.linalg.det(A2)
print(f"练习2分块计算值: {det_by_blocks:.0f}")
print(f"两种方法结果一致: {np.isclose(det_D2_np, det_by_blocks)}")

本章小结

本节我们深入探讨了行列式计算的高级工具——拉普拉斯定理,并展示了其在分块矩阵中的卓越应用。

要点回顾

  1. 推广的展开:拉普拉斯定理将按一行展开推广到按任意k行(列)展开,其核心是k阶子式与其代数余子式的乘积和。
  2. 分块矩阵的福音:定理最重要的应用之一是推导出分块(上/下)三角矩阵的行列式等于其主对角块行列式的乘积。这为计算高阶、具有特殊结构的行列式提供了“降维打击”的方法。
  3. 计算策略:面对一个行列式,应首先观察其结构。若存在明显的零块,尝试进行分块,判断是否为分块三角形式,从而化繁为简。

行动清单

  • 识别训练:从教材或习题中找出3个高阶行列式,练习识别其是否可通过分块转化为三角形式。
  • 代码验证:使用Python的NumPy库(np.linalg.det)计算一个分块矩阵的行列式,并手动进行分块计算,验证结果是否一致。
  • 定理复述:尝试不看书本,向自己或同学复述拉普拉斯定理的内容以及分块下三角矩阵行列式公式的证明思路。

— 小象教研组

配套学习资源与课件
  • 第10章讲义(含板书):线性代数(PDF · 15.5MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问