本篇在干嘛

本篇是《Linear Algebra and its Applications》(David C. Lay,第 5 版)第 3 章 Determinants(行列式) 的中文初学者精讲笔记。前两章里,行列式只是 矩阵判断可逆的一个小工具;这一章把它推广到任意 矩阵,并回答三个问题:行列式怎么算(3.1 余因子展开)、行列式有什么性质(3.2 行运算与乘法性质)、行列式有什么用(3.3 克莱默法则、逆矩阵公式、面积与体积)。全部例题来自原书,配有逐步解答。

章首有一个有趣的开篇故事:物理学家费曼在普林斯顿读研究生时观察蚂蚁觅食,发现蚂蚁靠”留下路径、跟着路径走”来导航。设想把蚂蚁放到一个金属丝焊成的球面上,它在每个交叉点只能向左或向右。为了记录蚂蚁在球面上的路线,人们需要把球面”摊平”画成平面地图——而地图靠近”极点”的区域会被放大变形。放大了多少倍? 这个问题的答案恰好就是本章的主角:行列式。

图 3-1

图 3-1:章首引入示例——蚂蚁在金属丝球面上爬行,其路线映射到平面地图时会产生的面积变形问题

蚂蚁路径问题与地图面积变形问题,都能用行列式回答。此外,3.2 节会给出”方阵可逆 行列式非零”这一关键判据(第 5 章的核心工具),3.3 节会说明行列式如何度量线性变换对面积/体积的缩放——这正是多元微积分中雅可比行列式的雏形。


3.1 行列式入门

:为什么要这样定义?

第 2 章我们已知: 矩阵可逆 其行列式 。现在要把”行列式”推广到更大的方阵。

思路是观察一个可逆的 矩阵 (设 )在做行变换时会留下什么”不变量”。把第 2、3 行各乘以 ,再用第一行消去下面两行的第一个元素, 行等价于:

继续消元(不妨设 位置非零,否则先做一次行交换),最终会把 化成上三角矩阵,其右下角元素是 ,其中

由于 可逆,化简后的三角矩阵也可逆,所以 必须非零;反过来(3.2 节会证明) 也能保证 可逆。这个 就叫 矩阵 行列式

约定: 矩阵 的行列式定义为 的就是上面那个交叉相乘相减的式子。

的六项按第一行元素分组,可以改写成

这正是”用小行列式定义大行列式”的递归入口。

子矩阵与递归定义

对任意方阵 ,记 划去 的第 行、第 后剩下的子矩阵。例如

划去第 3 行和第 2 列,得

于是有了正式定义:

定义(行列式) 矩阵 的行列式是 之和,正负号交替出现,元素 取自 第一行

说白了: 阶行列式 = 第一行每个元素 ×(划掉该元素所在行列后的 阶行列式),符号一正一负交替。 时用到 行列式, 时用到 行列式……一路递归到 ,而 我们会直接算。

例 1 计算 的行列式。

展开:

行列式还有一种常见记号:把方括号换成一对竖线。例 1 可以写成

代数余子式:沿任意行或列展开

为了把定义写得更紧凑,引入 位置的代数余子式(cofactor)

即”子行列式再乘一个由位置决定的整体正负号”。于是按第一行展开就是

定理 1 矩阵 的行列式可以沿任意一行沿任意一列做余因子展开,结果相同。沿第 行展开:

沿第 列展开:

符号 只由位置决定,与元素本身的正负无关,形成如下”棋盘”图案:

常见坑

  1. 忘了符号交替,把每一项都当正号算;建议每次展开前先默写棋盘符号表,从 + 开始一行一行交替。
  2. 双重符号混淆 里已经含有 了。若你直接用 展开,就必须自己补上位置符号;若用 ,则不要再乘。例 2 中 就是”位置负号 × 元素 “的结果。

例 2 沿第三行展开计算

第三行是 ,含两个零——这就是聪明的选择:

与例 1 按第一行展开的结果一致——沿哪行哪列展开都行,但挑零多的行/列展开能省大量计算

例 3 计算 的行列式。

沿第一列展开:只有第一个元素非零,其余四项全是 ,直接消失。

对这个 再沿第一列展开:

剩下的 正是例 1 算过的矩阵,值为 。故

这个例子里的矩阵”接近三角矩阵”,于是有如下漂亮结论:

定理 2 是三角矩阵(上三角或下三角),则 等于主对角线元素之积

为什么?反复沿全零密集的行/列展开(如例 3),最后只剩下对角线元素的乘积。

通关标准

给你一个 矩阵,你应能立刻判断”沿哪行/列展开最省事”(找零最多的行或列),并且三角矩阵一眼报出行列式(对角线连乘)。

数值注记:按今天的标准 只是”小”矩阵,但用余因子展开算它的行列式需要超过 次乘法,而 。即使计算机每秒做一万亿次乘法,也要运行 50 多万年!所以大规模行列式必须用更快的方法——3.2 节的行变换法。此外,3.1 节习题 33–36 探索了 情形下行运算对行列式的影响,这些结论将在下一节推广到

本节习题(按第一行展开、对角线法等,共 46 题)见原书。顺带一提:习题中介绍的” 对角线法则”(把前两列抄到右边、沿六条对角线相乘加减)只对 有效,绝不能推广到 及以上。

练习题(3.1) 计算

解答 关键是利用零元素。观察发现:第 3 列只有两个非零元素(),沿第 3 列展开最划算。 位置的符号是 ,所以

剩下的 行列式沿第一列展开(只有 非零),注意 ,位置在

原书解答正是这条路径:先沿第 3 列降为 ,再沿第 1 列降为 ,全程只算了一个 行列式。那个 来自 行列式中的 位置。答案:


3.2 行列式的性质

行列式的秘密在于:做行变换时它如何变化。掌握了变化规律,就能用行变换把行列式”化到最好算的形状”。

定理 3(行运算) 是方阵。 a. 的某一行的倍数加到另一行得到 (倍加变换),则 ——行列式不变b. 交换 的两行得到 (对换变换),则 ——变号c. 的某一行乘以 得到 (倍乘变换),则 ——提出因子

例 1 计算 的行列式。

策略:把 化成阶梯形(三角矩阵),再用定理 2”对角线连乘”。第一列做两次倍加变换,行列式不变:

交换第 2、3 行,行列式变号,得到三角矩阵:

手算时定理 3(c) 的常见用法是从某一行提出公因子

例 2 计算 的行列式。

为了简化运算,想让左上角出现 。可以交换第 1、4 行,但这里选择从第一行提出 (少一次变号),再在第一列做倍加:

接下来本可以从第 3 行提出 ,但我们选择用第 2 列的 当主元,把第 2 行的 倍加到第 3 行:

最后把第 3 行的 倍加到第 4 行,算”三角行列式”:

用阶梯形统一刻画:可逆判据

任何方阵 都能只用”倍加 + 对换”(不需要倍乘)化成阶梯形 。方阵的阶梯形是三角的,只有两种典型形态:

  • 可逆时: 的对角线全是(未缩放为 的)主元,
  • 不可逆时: 最后一行全零,

若化简过程中做了 次行交换,由定理 3 得

有趣的是:阶梯形 和主元本身都不唯一,但主元之积是唯一的(至多差一个正负号由 吸收)。这直接导出本节最重要的定理:

定理 4 方阵 可逆

定理 4 把 ” ” 加入”可逆矩阵定理”清单。有用的推论:若 的列线性相关,则 ;行同理(因为 的行就是 的列)。实践中,两行/两列相同、或某行/列为零时,线性相关性一目了然。

例 3 计算 的行列式。

把第 1 行的 倍加到第 3 行(行列式不变):

因为第 2、3 行完全相同——行列式为零,矩阵不可逆。一行搞定!

数值注记:大多数计算程序对一般矩阵求 用的正是上面的行变换法。可以证明,用行运算求 行列式约需 次算术运算——现代微型计算机算 行列式只需约一万次运算,一秒都不到(对比 3.1 节的 50 万年!)。计算机还能用专门例程处理含大量零元素的”稀疏”矩阵;对手算而言,零元素同样能提速——下面例 4 就把行变换和 3.1 节”挑零展开”的策略结合起来。

例 4 计算 的行列式。

好的开局:用第 1 列的 当主元,消去它下面的 (倍加,行列式不变),然后余因子展开降阶,再做一次倍加:

(第二步是沿第 1 列展开, 位于 ,符号 ,故提出 。)此时既可交换第 2、3 行得到三角行列式,也可直接沿第 1 列展开:

列运算与转置

对矩阵的也可以做与行完全类似的三种初等列运算,而且列运算对行列式的影响与行运算完全相同。道理藏在下一个定理里:

定理 5 矩阵,则

证明思路(数学归纳法): 显然。设对 成立,考虑 中的代数余子式,恰好等于 中的代数余子式(它们都涉及 行列式),于是” 沿第一行展开”与” 沿第一列展开”逐项相同,故 。归纳完成。∎

由于 ,定理 3 中每条结论把”行”换成”列”依然成立——要验证只需对 用原定理,因为对 的行运算就是对 的列运算。列运算在理论和手算中都有用,但本书数值计算只动行,保持简单。

乘法性质

定理 6(乘法性质) 都是 矩阵,则

例 5 验证定理 6。

先算乘积:

,于是

常见坑:加法没有这条性质!

一个常见误解是认为 一般来说这是错的。例如取 ,可以验证 当且仅当 (特殊巧合),并非普遍规律。同理, 而不是 阶时每一行都被乘了 ,提出 )。

行列式对单个列的线性性

看成 列向量的函数:固定其余 列,只让第 变动,定义 ,则

第一条就是定理 3(c) 的列版本;第二条可由沿第 列的余因子展开证明。这种”多重线性”性质在更高级的课程里有很多重要推论。

定理 3 与定理 6 的证明梗概

证明借助第 2.2 节的初等矩阵语言重述定理 3:若 初等矩阵,则 ,其中初等矩阵的行列式为——倍加矩阵 ,对换矩阵 ,倍乘 的矩阵 。对 做归纳( 情形即 3.1 节习题 33–36),沿一条不被 改动的行展开即可。再取 就得到 的三个值。

定理 6 的证明:若 不可逆,则 也不可逆,两边由定理 4 都是 ,等式成立。若 可逆,则 是若干初等矩阵之积 ,反复用重述后的定理 3:

本节习题见原书(含”判断行列式等式体现哪条性质""用行列式判断可逆性/线性无关""利用性质计算 等”)。

练习题(3.2)

  1. 用尽可能少的步骤计算

  2. 用行列式判断 是否线性无关。

  3. 是满足 矩阵,证明

解答

第 1 题 目标是制造零行。做倍加变换(行列式不变):第 1 行的 倍加到第 2 行、 倍加到第 4 行:

发现第 2 行和第 4 行相同了!把第 2 行的 倍加到第 4 行,第 4 行变成全零行:

全零行使行列式为 (沿该行展开每项都是 ),三步完成。

第 2 题 把三个向量并成矩阵 算行列式。先把第 1 行加到第 2 行(制造零):

再沿第 2 列展开( 的项直接消失,只剩两项):

(两个位置符号分别是 。)

行列式为 ,由定理 4 矩阵不可逆,再由可逆矩阵定理,三向量线性相关

第 3 题 关键链条:,加上定理 6 的乘法性质。若 ,则

两边开平方得 。∎(顺带:这题示范了定理 6 最典型的用法——已知矩阵方程,推出行列式满足的方程。)


3.3 克拉默法则、体积与线性变换

本节把前两节的理论变成三件武器:解方程组的克莱默法则、逆矩阵的伴随矩阵公式、以及行列式的几何意义(面积与体积)。

克拉默法则(Cramer’s Rule)

克莱默法则在理论计算中用处很大——比如研究 的变化如何影响 的解。但除了 (或许 ),它对手算并不高效。

记号:对 矩阵 表示 的第 列替换成 得到的矩阵:

定理 7(克莱默法则) 是可逆的 矩阵。对任意 的唯一解 满足

证明思路 是把单位阵第 列换成 的矩阵,则由矩阵乘法的定义

两边取行列式并用乘法性质(定理 6):。而 (沿第 行展开即可看出),且 可逆保证 ,两边除一下就是结论。∎

例 1 用克莱默法则解方程组

把方程组写成 ,分别构造 (换第 1 列)和 (换第 2 列):

,系统有唯一解。由克莱默法则:

工程应用:含参数的方程组

许多工程问题(尤其是电气工程与控制理论)通过拉普拉斯变换,把线性微分方程组变成系数含参数的线性代数方程组。下一个例子展示这类系统的典型形态。

例 2 是未指定参数。确定 取何值时方程组有唯一解,并用克莱默法则描述解:

写成

计算 。因此恰在 时系统有唯一解。对这样的

逆矩阵公式:伴随矩阵

克莱默法则还能顺手给出逆矩阵的一般公式。 的第 列是满足 是单位阵第 列)的解 ,其第 个分量就是 元。由克莱默法则:

而沿 的第 列做余因子展开可以发现 ——恰好是 的一个代数余子式,且下标 颠倒。于是

右边由代数余子式组成的矩阵称为 伴随矩阵(adjugate,也叫古典伴随),记作 。注意它是”余因子矩阵的转置”——例如 放在 位置。

定理 8(逆矩阵公式) 是可逆的 矩阵,则

例 3 的逆矩阵。

先算九个代数余子式(注意棋盘符号):

转置后得到伴随矩阵:

可以直接算,但下面这步乘法顺便验算了全部九个余子式

由定理 8 知 ,于是

数值注记:定理 8 主要用于理论推导——它让你能不真正算出 就研究逆矩阵的性质(比如 3.2 节习题 18:若 全是整数且 ,则 也全是整数)。真要计算逆矩阵时,2.2 节的行变换算法几乎总是更好。克莱默法则同样是理论工具:可用来研究 的某个元素(比如因实验测量误差)变化时解的敏感度。一个例外: 复数矩阵时,有时会选克莱默法则手算,因为复数行削减元很烦而行列式好算;对更大的 矩阵,克莱默法则低效到绝望——光算一个行列式的工作量就抵得上用行变换解整个方程组。

行列式 = 面积 / 体积

现在验证章首预告的几何解释。本节默认读者已具备 中通常的长度、面积、体积概念。

定理 9 矩阵,则 的两个列向量所确定的平行四边形面积为 。若 矩阵,则 的三个列向量所确定的平行六面体体积为

证明( 情形) 对对角矩阵结论显然:

图 3-2

图 3-2:对角矩阵 的列确定一个矩形,面积恰为

只需证明任何 都能通过”既不改变平行四边形面积、也不改变 “的操作变成对角矩阵。由 3.2 节,列对换与”一列的倍数加到另一列”都不改变行列式的绝对值,而这些操作足以把 化成对角矩阵(想想对 做行变换)。列对换根本不改变平行四边形本身,所以只需验证下面这个简单的几何观察:

是非零向量, 为任意常数,则 确定的平行四边形与 确定的平行四边形面积相等

图 3-3

图 3-3:两个面积相等的平行四边形——沿 方向”剪切”不改变面积

为什么?若 的倍数,两个平行四边形都退化为零面积。否则,设 是过原点与 的直线,则 都在与 平行的直线 上,到 的垂直距离相同;两个平行四边形又共享同一条底边(),所以”底 × 高”相同,面积相等。∎

情形完全类似。对角矩阵的情形显然:

图 3-4

图 3-4: 对角矩阵的列确定一个长方体,体积为

而任何 矩阵都能用不改变 的列运算化成对角矩阵,所以只需说明列替换不改变平行六面体的体积。平行六面体的体积 = 底面(在平面 内)面积 × 到该平面的高。把 换成 时,新向量仍落在与 平行的平面 内,高度不变,故体积不变:

图 3-5

图 3-5:两个体积相等的平行六面体——沿底面内的方向”推斜”不改变体积

例 4 计算由点 确定的平行四边形的面积。

第一步:平移到原点。把每个顶点都减去 ,得到新平行四边形(面积不变),顶点为

图 3-6

图 3-6:例 4 的原始平行四边形(不经过原点)

图 3-7

图 3-7:把每个顶点减去 平移到原点后,面积不变

现在这个平行四边形由矩阵

的两列确定,而 。由定理 9,面积为

常见坑

  1. 定理 9 给的是绝对值 ——行列式本身可正可负(取决于列的左右手性),但面积体积恒非负。
  2. 平行四边形顶点不在原点时,必须先平移到原点(所有顶点减去同一个顶点)再取列向量算行列式,直接拿原坐标当列向量会算错。

线性变换与面积缩放

是线性变换, 是其定义域中的集合, 表示 中各点像的集合。我们关心: 的面积/体积与 的相比变化了多少?

定理 10 是由 矩阵 确定的线性变换。若 中的平行四边形,则

矩阵 确定, 中的平行六面体,则

证明思路( 情形),原点处的平行四边形 由向量 确定,即 。由线性性,,所以 正是矩阵 (其中 )的列确定的平行四边形。由定理 9 与行列式乘法性质:

对任意位置的平行四边形 :线性变换把它映成 (平移的像 = 像的平移),而平移不改变面积,逐串等式即得结论。 情形类似。∎

推广到弯曲区域:对 中不由直线/平面围成的一般区域,“面积/体积”本身要用微积分的思想定义。以 为例:用细密的小方格从内部逼近区域 ,格子足够小时,方格面积之和可以任意接近 的面积。

图 3-8

图 3-8:用小方格从内部逼近平面区域,网格越细逼近越好

线性变换 (矩阵 )把每个小方格映成面积 倍的平行四边形,所以像区域 的面积 ≈ (方格面积之和)。取极限即得推广结论:只要 是具有有限面积的平面区域(或有限体积的空间区域),定理 10 的缩放公式依然成立

图 3-9

图 3-9: 被一个个小平行四边形的像逼近

例 5 为正数,求由椭圆 围成的区域 的面积。

声明: 恰是单位圆盘 在由 确定的线性变换 下的像。理由:若 (即 ),则 ,于是

。由定理 10 的推广:

图 3-10

图 3-10:线性变换 把单位圆盘 拉伸为椭圆区域 ,面积放大

这就是微积分里熟知的椭圆面积公式 ——行列式视角下它几乎不用积分就出来了。

拓展(原书习题 32 的思想):四面体的体积。 顶点为 的标准四面体 ,经线性变换 映成顶点为 的四面体 。用”锥体体积 = (1/3)×底面积×高”可算出 的体积是单位立方体的 ,于是

图 3-11

图 3-11:标准四面体 ,顶点为

图 3-12

图 3-12:线性变换把 映为顶点 的四面体 ,体积缩放

本节习题见原书(含用克莱默法则解方程组、求含参数系统的唯一解条件、伴随矩阵求逆、平行四边形/平行六面体面积体积等)。

练习题(3.3) 是由向量 确定的平行四边形,。计算 在映射 下的像的面积。

解答 两步走。第一步: 本身的面积由定理 9,

第二步:。由定理 10,像的面积按 倍缩放:

注意不需要真的把 乘以 再算新平行四边形的面积——缩放公式让我们一步到位答案:


自测一下