在前面的章节中,我们已经看到,线性变换可以被认为是对由基向量确定的网格进行扭曲。
根据我们的几何直觉,我们推测测量变换对体积和距离的扭曲程度可以提供一些有价值的见解。正如我们将在本章中看到的,情况确实如此。保持距离或范数不变的变换很特殊,由此衍生出诸如主成分分析之类的方法。
本文的主要内容包括:
- 线性变换如何缩放区域
- 行列式的多重线性
- 行列式的基本性质
1 行列式,线性变换如何影响体积
在前面的章节中,我们已经看到,线性变换可以被认为是对由基向量确定的网格进行扭曲。
根据我们的几何直觉,我们推测测量变换对体积和距离的扭曲程度可以提供一些有价值的见解。正如我们将在本章中看到的,情况确实如此。保持距离或范数不变的变换很特殊,由此衍生出诸如主成分分析之类的方法。
1.1 线性变换如何缩放区域

图 4.14: 单位正方形在线性变换下的图像
这个平行四边形的面积描述了𝐴如何缩放单位正方形。我们暂时称之为𝜆;也就是说,
area(𝐴(𝐶)) = 𝜆 ⋅ area(𝐶),
其中 𝐶 = [0, 1] × [0, 1] 是单位正方形,𝐴(𝐶) 是其像
𝐴(𝐶) ∶= {𝐴𝐱 ∶ 𝐱 ∈ 𝐶}
由于线性关系,𝜆 也等于任何矩形(其边与坐标轴平行)的面积与其在𝐴下像的缩放比。如图 4.15 所示,我们可以将任何平面物体近似为矩形的并集。
如果所有矩形都按𝜆 缩放,那么矩形的并集也会按该因子缩放。因此,𝜆 也是任何平面物体𝐸与其像𝐴(𝐸) = {𝐴𝐱 ∶ 𝐱 ∈ 𝐸} 的缩放比。

图 4.15:用矩形并集近似平面物体
这个量 𝜆 揭示了很多关于变换本身的信息,但还有一个问题:我们如何计算它?
假设我们的线性变换如下

因此,它的列\(𝐱 = (𝑥_1, 𝑥_2)\) 和\(𝐲 = (𝑦_1, 𝑦_2)\) 描述了平行四边形的两条边。这就是单位正方形的像。

图 4.16: 单位正方形在线性变换下的图像
我们的面积缩放因子 𝜆 等于这个平行四边形的面积,所以我们的目标是计算出这个值。
任何平行四边形的面积都可以通过将底边长(在本例中为 ‖𝐱‖)乘以高\(h\)来计算。(你可以很容易地通过在平行四边形的右侧切掉一个三角形并将其放在左侧,重新排列成一个矩形来看到这一点。)\(h\)是未知的,但根据基本的三角学知识,我们可以看出\(ℎ = sin 𝛼‖𝐲‖\),其中 𝛼 是 𝐱 和 𝐲 之间的夹角。
因此, \(area=sin 𝛼‖𝐲‖‖𝐱‖\)
这几乎就是𝐱和𝐲的点积。(回想一下,点积可以写成\(⟨𝐱, 𝐲⟩ = ‖𝐱‖‖𝐲‖ cos 𝛼\)。)然而,sin 𝛼部分并不匹配。
幸运的是,我们可以使用一个巧妙的技巧将其转换为点积!由于\(sin 𝛼 = cos (𝛼 −\frac𝜋2)\),我们得到
\(area = cos ( 𝛼 − \frac𝜋2 ) ‖𝐱‖‖𝐲‖\).
问题在于𝐱和𝐲之间的夹角不是\(𝛼-\frac𝜋2\)。不过,我们可以通过应用旋转轻松解决这个问题(第 4.3.2 节)。应用变换

我们得到 \(𝐲_{rot }= 𝑅𝐲 = (𝑦_2, −𝑦_1)\)
由于\(‖𝐲_{rot}‖ = ‖𝐲‖\),我们有

仅使用矩阵 𝐴 的元素即可计算 \(⟨𝐱, 𝐲_{rot}⟩\):
\(⟨𝐱, 𝐲_{rot}⟩ = 𝑥_1𝑦_2 − 𝑥_2𝑦_1\).
注意,\(⟨𝐱, 𝐲_{rot}⟩\) 可以为负数!当 \(𝐲 = 𝐴𝐞_2\) 和 \(𝐱 = 𝐴𝐞_1\) 之间的夹角(逆时针测量)大于 𝜋 时,就会发生这种情况,因为这意味着 \(cos(𝛼−\frac𝜋2 )< 0\)。
因此,\(⟨𝐱, 𝐲_{rot}⟩\)这个量被称为平行四边形的有符号面积。
在二维中,我们称之为线性变换的行列式。也就是说,对于任何给定的线性变换/矩阵\(𝐴∈ℝ^{2×2}\),其行列式定义为
.png)
行列式通常写为 |𝐴|,但我们将避免使用这种符号。我们要讨论任意矩阵 \(𝐴 ∈ ℝ^{𝑛×𝑛}\) 的行列式,但为了建立直观理解,我们先暂时以 2 × 2 的情况为例。
行列式还揭示了向量的方向:正行列式表示正方向,负行列式表示负方向。(直观地说,正方向表示从 𝐱 到 𝐲 逆时针测量的角度在 0 到 𝜋 之间;等效地,从 𝐱 到 𝐲 顺时针测量的角度在 𝜋 到 2𝜋 之间。)如下图 4.17 所示。

图 4.17:平面中两个向量的方向
图片内容翻译:positively oriented: 正方向 negatively oriented:正方向
综上
.png)
成立,其中\(𝐸⊆ℝ^2\)是平面对象,并且
𝐴(𝐸) = {𝐴𝐱 ∶ 𝐱 ∈ 𝐸}
是 𝐸 在变换 𝐴 下的像。
尽管我们只在二维中证明了 (4.10),但这在高维情况下也是成立的。(尽管我们还不知道如何定义那里的行列式。)
因此,如果\(𝐞_1\)和 \(𝐞_2\) 是平面上的基,那么方程 (4.9) 和 (4.10) 告诉我们,二维中的行列式等于
\(det𝐴 = orientation(𝐴𝐞_1, 𝐴𝐞_2) × area(𝐴𝐞_1, 𝐴𝐞_2)\)
基于欧氏平面的例子,我们已经建立了足够的几何直觉,理解了线性变换如何扭曲体积并改变空间的方向。这些由行列式的概念描述,我们在特殊情况 (4.9) 中已经定义了它。我们将继续研究这个概念的普适性。
为了介绍行列式的正式定义,我们将采取一种不同于通常的思路。通常,线性变换𝐴的行列式会直接用一个复杂的公式定义,然后展示它的所有几何性质。
与此不同,我们将通过推广上一节中学到的几何概念来推导行列式公式。在这里,我们将大致遵循 Peter D. Lax 所著的《线性代数及其应用》的大纲。
我们通过介绍一些关键符号来奠定基础。设
\(𝐴 = (𝑎_{𝑖,𝑗})^𝑛_{𝑖,𝑗=1} ∈ ℝ^{𝑛×𝑛}\)
是一个列为\(𝐚_1,…,𝐚_𝑛\)的矩阵。在4.1.1节中引入矩阵作为线性变换的概念时,我们看到第𝑖列是第𝑖个基向量的像。为简单起见,我们假设\(𝐞_1,𝐞_2,…,𝐞_𝑛\)是标准正交基,也就是说,\(𝐞_𝑖\)是第𝑖个坐标为1,其余坐标为0的向量。因此,\(𝐴𝐞_𝑖 = 𝐚_𝑖\)。
在4.3节对欧氏平面的探索中,我们已经看到,行列式是基向量像的方向乘以它们所定义的平行四边形的面积。按照这个逻辑,我们可以定义𝑛 × 𝑛 矩阵的行列式为
\(det𝐴 = orientation(𝐴𝐞_1, … , 𝐴𝐞_𝑛) × volume(𝐴𝐞_1, … , 𝐴𝐞_𝑛)\)
两个问题立刻浮现出来。首先,我们如何定义𝑛维空间中多个向量的方向?其次,我们如何计算面积?
我们不会直接寻找这些问题的答案,而是要给故事增添一个转折:首先,我们会找到一个方便的行列式公式,然后用它来定义方向。
1.2 行列式的多重线性
为了更明确地表达行列式与矩阵\(𝐚_𝑖 = 𝐴𝐞_𝑖\)的列之间的关系,我们写成:
\(det𝐴 = det(𝐚_1, … , 𝐚_𝑛)\).
以这种方式思考行列式,det 只是多个变量的函数:

好消息:$det(𝐚_1, … , 𝐚_𝑛) $在每个变量上都是线性的。也就是说,
\(det(𝐚_1, … , 𝛼𝐚_𝑖 + 𝛽𝐛_𝑖 , … 𝐚_𝑛) = 𝛼 det(𝐚_1, … , 𝐚_𝑖 , … 𝐚_𝑛) + 𝛽 det(𝐚_1, … , 𝐛_𝑖 , … 𝐚_𝑛)\)
成立。我们不打算证明这一点,但由于行列式表示有符号的体积,你可以通过查看图 4.18 来验证。

图 4.18: \(det(𝐚_𝟏, 𝐚_𝟐)\) 的多重线性
线性的一个结果是,我们可以将行列式表示为标准基向量\(𝐞_1, …,𝐞_𝑛\)的行列式的线性组合。例如,考虑以下内容。由于
\(𝐴𝐞_1 = 𝐚_1 =∑^𝑛_{𝑖=1}𝑎_{𝑖,1}𝐞_𝑖 ,\)
我们有

更进一步,利用这一点

我们开始注意到一种模式。有了线性,我们
.png)
我们可以看到,系数\(𝑎_{𝑖,1}𝑎_{𝑗,2}\) 中的行索引与 \(det(𝐞_𝑖, 𝐞_𝑗, 𝐚_3, … , 𝐚_𝑛)\) 中\(𝐞_𝑘\)-s 的索引相匹配。一般情况下,这种模式可以用排列形式化表示;即集合 {1, 2, … , 𝑛} 的排序。
你可以将排列想象成一个函数𝜎,它将 {1, 2, … , 𝑛} 映射到自身,使得对于每个𝑗 ∈{1, 2, … , 𝑛},都存在一个𝑖 ∈ {1, 2, … , 𝑛},且𝜎(𝑖) = 𝑗。换句话说,你取 1 到 𝑛 之间的每个整数,并将它们按顺序排列。{1, 2, … , 𝑛} 上所有可能的排列的集合记为\(𝑆_𝑛\)。
继续 (4.11) 并进一步展开𝐴的行列式,我们得到

这个公式不太容易理解。你可以把每个项 \(∏^𝑛_{𝑖=1} 𝐚_{𝜎(𝑖),𝑖}\) 想象成将 𝑛 个国际象棋车放在 𝑛 × 𝑛 的棋盘上,使得它们之间无法互相捕获。

图 4.19: 项 \(𝐚_{𝜎(1)1} ⋯ 𝐚_{𝜎(𝑛)n}\) 的解析结构
公式

结合了所有可能的方法。
只剩下一件事:计算 \(det(𝐞_{𝜎(1)}, … , 𝐞_{𝜎(𝑛)})\)。
还记得我们讨论过欧氏平面中反射和旋转的组合吗(第 4.3.4 节)?由$ 𝐞_𝑖 ↦ 𝐞_{𝜎(𝑖)}$ 确定的变换与此类似。谈到排列时,最好知道,每个排列都可以通过一次交换两个元素来获得。一个排列中,转置次数(即影响两个元素的排列)称为 sign(𝜎)。在我们的线性变换\(𝐞_𝑖 ↦𝐞_{𝜎(𝑖)}\)中,𝜎中的转置次数就是所需的反射次数,而sign(𝜎)是\((𝐞_{𝜎(1)}, … ,𝐞_{𝜎(𝑛)})\)的方向。
至此,有了这些,我们最终可以给出行列式和方向的正式定义。
定义 4.4.1(行列式和方向)
设 𝐴 ∈ ℝ^{𝑛×𝑛} 为任意矩阵,\(𝐚_𝑖 ∈ ℝ^𝑛\) 为其第 𝑖 列。𝐴 的行列式定义为
向量\(𝐚_1, … , 𝐚_𝑛\)的方向为 \(orientation(𝐚_1, … , 𝐚_𝑛) ∶= sign(det𝐴)\)
当行列式表示法不方便时,我们会将矩阵元素放在一个很大的绝对值符号内来表示行列式:

当我还是一名年轻的数学学生时,行列式公式 (4.12) 就在我的第一堂线性代数课上被原封不动地呈现了出来。由于没有解释它与体积和方向的联系,我花了好几年才真正理解它。我仍然认为行列式是线性代数中最复杂的概念之一,尤其是在没有几何学依据的情况下。
现在你已经对行列式有了基本的了解,你可能会问:我们该如何在实际中计算它?对所有排列的集合求和并计算它们的符号,从计算的角度来看并非易事。
好消息是:行列式有一个递归公式。坏消息是:对于一个 𝑛 × 𝑛 矩阵,它涉及 𝑛 个 (𝑛 − 1) × (𝑛 − 1) 矩阵。尽管如此,这与排列公式相比还已经好了很多。让我们来看一下!
定理 4.4.1(行列式的递归公式)
设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为任意方阵。则
其中 \(𝐴_{𝑖,𝑗}\) 是通过从 𝐴 中移除第 𝑖 行和第 𝑗 列得到的 (𝑛 − 1) × (𝑛 − 1) 矩阵。
我们不会给出证明,而是提供一个例子来演示这个公式。对于 3 × 3 矩阵,它的形式如下:

现在我们既掌握了几何直觉,又掌握了递归公式,让我们来看看行列式最重要的性质!
1.3 行列式的基本性质
在处理行列式时,我们倾向于创建基本的构建块和组合规则。(正如我们在推导(4.12)时多次看到的,这种模式也适用。)这些规则体现在行列式的基本性质中,我们现在将对此进行讨论。
第一个性质与组合和行列式的关系有关。
定理 4.4.2(行列式的乘积)
\(A,B∈ℝ^{𝑛×𝑛}\)是两个矩阵。则
\(det𝐴𝐵 = det𝐴det 𝐵\) (4.14)
方程 (4.14) 被称为行列式乘积法则,其证明需要基于公式 (4.12) 和 (4.13) 进行大量计算。我不会提供完整的证明,而是给出一个直观的解释。毕竟,我们想要用数学来构建算法,而不是构建数学。
因此,det𝐴𝐵 = det𝐴det 𝐵 的解释非常简单。如果我们将矩阵 \(𝐴, 𝐵 ∈ ℝ^{𝑛×𝑛}\)视为线性变换,我们刚刚看到 det𝐴 和 det 𝐵 决定了它们如何缩放单位立方体。
由于这些线性变换的复合是矩阵乘积𝐴𝐵,线性变换𝐴𝐵将单位立方体缩放为一个平行六面体,其有符号的体积为det𝐴det𝐵。(因为应用𝐴𝐵等同于先应用𝐵,然后再对结果应用𝐴。)
因此,根据我们对行列式的理解,由于𝐴𝐵的缩放因子也是 det𝐴𝐵,所以(4.14)成立。
我们可以对此进行实际证明,例如,基于递归公式(4.13)进行归纳法,这将导致一个漫长而复杂的计算。
乘积法则的一个直接推论是矩阵的行列式与其逆矩阵之间存在一种特殊的关系。
定理 4.4.3 设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为任意可逆矩阵。则
\(det𝐴^{−1} = (det𝐴)^{−1}\)
证明。利用乘积法则,我们有 \(1 = det 𝐼 = det𝐴𝐴^{−1} = (det𝐴)(det𝐴^{−1})\), 由此可知定理成立。
正因为如此,我们还可以得出结论,行列式由相似关系得到。
定理 4.4.4 设 \(𝐴, 𝐵 ∈ ℝ^{𝑛×𝑛}\)为两个相似矩阵,且 \(𝐵 = 𝑇^{−1}𝐴𝑇\),其中 \(𝑇 ∈ ℝ^{𝑛×𝑛}\)。则 \(det𝐴 = det 𝐵\)。
证明。这简单地从
中得到,这个证明我必须要展示在这里的。
另一个重要结果是,行列式与矩阵所在的基无关。如果\(𝐴 ∶ 𝑈 → 𝑈\) 是线性变换,\(𝑃 = \{𝐩_1, … , 𝐩_𝑛\}\) 和 \(𝑅 = \{𝐫_1, … , 𝐫_𝑛\}\) 是 𝑈 的两个基,那么我们知道,该变换的矩阵通过以下关系相互关联(见第 4.2.1 节):
$𝐴_𝑃 = 𝑇^{−1}𝐴_𝑅𝑇 $
其中\(𝐴_𝑆\)是变换\(𝐴\)在基\(𝑆\)上的矩阵,\(𝑇 ∈ ℝ^{𝑛×𝑛}\)是基变换矩阵(4.2.1节)。前定理表明\(det𝐴_𝑃 = det𝐴_𝑅\)。因此,行列式的定义不仅适用于矩阵,也适用于线性变换!
行列式本质上存在一个对偶关系:你可以在交换矩阵的行和列的同时保持所有与行列式相关的恒等式成立。
定理 4.4.5 设$ 𝐴 ∈ ℝ^{𝑛×𝑛}$为任意矩阵。则 \(det𝐴 = det𝐴^𝑇\)
证明。设\(𝐴 = (𝑎_{𝑖,𝑗})^𝑛_{𝑖,𝑗=1}\)。设其转置矩阵的元素为\(𝑎^𝑡_{𝑖,𝑗} = 𝑎_{𝑗,𝑖}\)。根据 (4.12),我们有
这里要注意,由于乘积 \(∏^𝑛_{𝑖=1} 𝑎_{𝑖,𝜎(𝑖)}\)会遍历所有𝑖,并且项的顺序无关紧要,所以我们不妨将项的顺序设置为 \(𝑖=𝜎^{−1}(1),…,𝜎^{−1}(𝑛)\)。因为
\(sign(𝜎^{−1}) =sign(𝜎)\)
继续上述计算,我们得到
因为每个排列都是可逆的,并且 \(𝜎 ↦ 𝜎^{-1}\) 是双射,所以对 \(𝜎 ∈ 𝑆_𝑛\) 求和与对 \(𝜎^{-1} ∈ 𝑆_𝑛\) 求和相同。
结合以上所有内容,我们得到
这是我们必须要知道的。
定理 4.4.6 设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为任意矩阵,\(𝐴^{𝑖,𝑗}\) 表示通过交换 𝐴 第 𝑖 列和第 𝑗 列得到的矩阵。则
\(det𝐴^{𝑖,𝑗} = − det𝐴\),
或者换句话说,交换𝐴的任意两列都会改变行列式的符号。同样,交换两行也会改变行列式的符号。
证明。这源于 (4.14) 的巧妙应用,注意到 \(𝐴^{𝑖,𝑗} = 𝐴𝐼^{𝑖,𝑗}\),其中 \(𝐼^{𝑖,𝑗}\) 是通过交换单位矩阵的第 𝑖 列和第 𝑗 列得到的。\(det 𝐼^{𝑖,𝑗}\) 是行列式,形式为 \(det(𝐞_{𝜎(1)}, … , 𝐞_{𝜎(𝑛)})\),其中 𝜎 是简单地交换 𝑖 和 𝑗 的排列。(也就是说,𝜎 是转置。)因此,
\(det𝐴^{𝑖,𝑗} = det𝐴det𝐼^{𝑖,𝑗} = − det𝐴\)
这就是我们要证明的。
关于交换行,我们可以应用之前的结果,因为转置矩阵保留了行列式。
因此,具有两个相同行的矩阵具有零行列式。
定理 4.4.7 设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为具有两个相同行或列的矩阵。则 det𝐴 = 0。
证明:假设第𝑖列和第𝑗列相同。由于两列相等,\(det𝐴^{𝑖,𝑗} =det𝐴\)。然而,应用前面的定理(该定理指出交换两列会改变行列式的符号),我们得到 \(det𝐴^{𝑖,𝑗} = − det𝐴\)。只有当 det𝐴 = 0 时,这才成立。
同样,转置这个矩阵可以证明矩阵的两个行相同时的情况。
另一个结果是,我们获得了线性相关向量系统和行列式之间的本质联系。
定理 4.4.8 设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为一个矩阵。则其列线性相关当且仅当 det𝐴 = 0。类似地,𝐴 的行线性相关当且仅当 det𝐴 = 0。
证明。(i) 首先,我们将证明线性相关的列(或行)意味着 det𝐴 = 0。照例,我们将𝐴的列表示为\(𝐚_1, … , 𝐚_𝑛\),为了简单起见,假设
由于行列式是列的线性函数,因此我们有
根据上一定理,所有项 $det(𝐚_1, 𝐚+2, … , 𝐚_𝑛) $均为零,这意味着 det𝐴 = 0,这正是我们要证明的。如果行是线性相关的,我们应用上述定理可得 \(det𝐴 = det𝐴^𝑇 = 0\)。 (ii) 现在,我们来证明 det𝐴 = 0 表示列是线性相关的。与其给出相当复杂的精确证明,不如给出一个直观的解释。
回想一下,行列式是方向乘以由列给出的平行六面体的体积。由于方向为 ±1,det𝐴 意味着平行六面体的体积为 0。这只有当 𝑛列位于 𝑛 − 1 维子空间中时才会发生,这意味着它们是线性相关的。
我们可以立即应用它来获得以下结果。
推论 4.4.1 设 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)为具有常数零列(或行)的矩阵。则 det𝐴 = 0。
由于行列式是基向量像的有符号体积,因此在某些情况下它可以为零。这些变换相当特殊。什么时候会发生这种情况?让我们回到欧几里德平面来建立一些直观的理解。
在那里,我们有

或者换句话说,\(\frac{𝑥_1}{𝑦_1}=\frac{𝑥_2}{𝑦_2}\)。对此还有一种解释:向量 \((𝑦_1, 𝑦_2)\) 是\((𝑥_1, 𝑥_2)\) 的标量倍数;也就是说,它们是共线的,这意味着它们位于通过原点的同一条直线上。从线性变换的角度思考,这意味着\(𝐞_1\) 和\(𝐞_2\) 的像位于\(ℝ^2\) 的一个子空间上。正如我们接下来会看到的,这与变换的可逆性密切相关。
定理 4.4.9(可逆性和行列式) 线性变换 \(𝐴 ∈ ℝ^{𝑛×𝑛}\)可逆当且仅当 det𝐴 ≠ 0。
证明。当我们引入可逆性的概念(定义 4.1.2)时,我们发现𝐴可逆当且仅当它的列\(𝐚_1, …,𝐚_𝑛\)构成一个基。因此,它们是线性独立的。 由于列的线性独立性(定义 1.2.1)等价于非零行列式,因此结论呼之欲出。
.png)
.png)





