本文最初只作为 3B1B 视频的听课/读书笔记,因此对我而言过于基础的内容不会提及,细节也不会过多展开,有些地方自然会有些跳跃。但是我会尽量保持逻辑与思维的连贯性。本人学艺不精,欢迎各位大佬指正。
向量、基、张成、空间、线性相关
向量,从物理角度看是空间中的箭头,从计算机角度看是有序的数据列表。我们将这些事物抽象为数学中的向量。
The basis of a vector space is a set of linearly independent vectors that span the full space.
向量空间的 一组基 是 张成 该空间的一个 线性无关 向量集。
具体而言,基是一个最小的向量集,通过线性组合可以表示空间中的所有向量。可以将基看作线性空间的“坐标系”。
- 如果一组向量中有多余的向量,该向量对空间的张成没有贡献,移除该向量不会减小张成的空间,那么这组向量就是 线性相关 的;
换言之,多余的向量可以表示为其他向量的线性组合。 - 反之,如果一组向量中没有多余的向量,所有向量都为张成的空间添加了新的维度,那么这组向量就是 线性无关 的。
什么是空间?数学上的空间可以理解为一组集合,该集合具备一些规则、公理或操作。换句话说,就是具有特定数学结构(如距离、拓扑)的集合。
例如,二维空间 $\mathbb{R}^2$ 是由所有形如 $(x,y)$ 的点组成的集合,其中 $x$ 和 $y$ 是实数。这个空间具备向量加法和数乘等操作。
更本质、更直观的描述参见孟岩《理解矩阵》:
这个空间可以容纳运动,这里我们所说的运动是 从一个点到另一个点的移动(变换),而不是微积分意义上的“连续”性的运动……容纳运动是空间的本质特征。
事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。你会发现,在某种空间中往往会存在一种相对应的变换,比如拓扑空间中有拓扑变换,线性空间中有线性变换,仿射空间中有仿射变换,其实这些变换都只不过是对应空间中允许的运动形式而已。
因此只要知道,“空间”是容纳运动的一个对象集合,而变换则规定了对应空间的运动。
线性变换、矩阵、基变换
变换可看作为函数,但额外包含对向量(点)进行移动的含义。
线性变换:直线映射为直线,原点保持不动。
线性变换(linear transformation)对空间进行操作,保持网格线的平行和均匀分布,并保持原点位置不变。
在已知基的情况下,对空间的线性变换可以通过 基向量的变换 来完全描述。
即只要记录了变换后基向量的新位置,对空间中任意一条向量,与基向量进行线性组合(即对每条基向量进行缩放/数乘,再相加),就能推导出该向量的变换结果。
- 在对空间进行变换的视角下,坐标系发生了变换,但向量(点)本身的坐标值不变。
- 而在对向量进行变换的视角下,坐标系保持不变,但向量(点)的位置发生了变化。
例如二维空间中的基向量 $\boldsymbol{i} = (1,0)$ 和 $\boldsymbol{j} = (0,1)$,如果变换后它们分别变为 $\hat{\boldsymbol{i}} = (2,1)$ 和 $\hat{\boldsymbol{j}} = (1,1)$,那么任意向量 $(x,y)$ 的变换结果可以通过线性组合得到:
$$T(x,y) = x \underbrace{\left[\begin{matrix}2 \\ 1\end{matrix}\right]}_{\hat{\boldsymbol{i}}} + y \underbrace{\left[\begin{matrix}1 \\ 1\end{matrix}\right]}_{\hat{\boldsymbol{j}}} = \left[\begin{matrix}2x + y \\ x + y\end{matrix}\right] $$
一般地,使用矩阵形式表示二维线性变换:
$$T(x,y) = \left[\begin{matrix}{\color{green} a} & {\color{red}b} \\ {\color{green} c} & {\color{red} d}\end{matrix}\right] \left[\begin{matrix}x \\ y\end{matrix}\right] = x\underbrace{\left[{\begin{matrix}\color{green}a \\ \color{green}c\end{matrix}}\right]}_{\hat{\boldsymbol{i}}} + y\underbrace{\left[{\begin{matrix}\color{red}b \\ \color{red}d\end{matrix}}\right]}_{\hat{\boldsymbol{j}}} = \left[\begin{matrix}{\color{green} a}x + {\color{red} b}y \\ {\color{green} c}x + {\color{red} d}y\end{matrix}\right] $$
这样一来,我们 将矩阵的每一列分别对应变换后基向量的位置,将矩阵与向量的乘法(本质上还是矩阵乘法)看作是 基向量的线性组合。因此,我们可以用矩阵来描述对空间/向量的线性变换:以基向量为列向量组成的矩阵是一个线性变换。
另外,在二维空间中,如果变换后的两条基向量线性相关,意味着其中一个向量是另一个向量缩放的结果,那么变换就会导致空间的维度降低为一维空间。
上述一切在孟岩老师的《理解矩阵》中有更易于理解的总结:
矩阵的本质是运动的描述。
向量本身不是也可以看成是 $n \times 1$ 矩阵吗?这实在是很奇妙,一个空间中的对象和运动竟然可以用相类同的方式表示。
“运动”的概念不是微积分中的连续性的运动,而是瞬间发生的变化。……因此我们最后换用一个正牌的数学术语—— 变换,来描述这个事情。……所谓变换,其实就是空间里从一个点(元素/对象)到另一个点(元素/对象)的跃迁。
一旦我们理解了“变换”这个概念,矩阵的定义就变成:“矩阵是线性空间里的变换的描述。”
最后我们把矩阵的定义完善如下:“矩阵是线性空间中的线性变换的一个描述。在一个线性空间中,只要我们选定一组基,那么对于任何一个线性变换,都能够用一个确定的矩阵来加以描述。”
矩阵描述了一个坐标系。
……之所以矩阵又是运动,又是坐标系,那是因为——“运动等价于坐标系变换”。
对不起,这话其实不准确,我只是想让你印象深刻。准确的说法是:“对象的变换等价于坐标系的变换”。
或者:“固定坐标系下的一个对象的变换,等价于固定对象所处的坐标系变换。”
说白了就是:“运动是相对的。”
矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。
而作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。
而且,变换点与变换坐标系,具有异曲同工的效果。
对于线性变换 $\boldsymbol{M}\boldsymbol{a} = \boldsymbol{b}$,我们可以有两种理解方式:
- 固定坐标系 $\boldsymbol{M}$,点 $\boldsymbol{a}$ 运动到 $\boldsymbol{b}$,即“向量 $\boldsymbol{a}$ 经过矩阵 $\boldsymbol{M}$ 所描述的变换,变成了向量 $\boldsymbol{b}$。”
- 固定点 $\boldsymbol{a}$,坐标系 $\boldsymbol{M}$ 运动到单位矩阵 $\boldsymbol{I}$($\boldsymbol{M}\boldsymbol{a} = \boldsymbol{I}\boldsymbol{b}$),即“在坐标系 $\boldsymbol{M}$ 下的某一向量度量为 $\boldsymbol{a}$,在坐标系 $\boldsymbol{I}$ 的度量下,这个向量的度量结果是 $\boldsymbol{b}$。”
- 考虑在坐标系 $\boldsymbol{I}$ 下,向量 $\boldsymbol{a}$ 度量结果为 $\boldsymbol{a}$。此时仅将坐标系变为 $\boldsymbol{M}$,该向量度量不变,但是在坐标系 $\boldsymbol{I}$ 下的度量结果变为 $\boldsymbol{b}$。
- 为什么 矩阵乘法表示“度量”?“度量”在这里指的是向量在特定坐标系下的坐标值。
坐标值取决于基向量的选择。矩阵与向量的乘法($\boldsymbol{M} \boldsymbol{a}$)本质上是一种线性组合:
它取坐标系 $\boldsymbol{M}$ 的基向量($\boldsymbol{M}=\left[\begin{matrix}\boldsymbol{m}_1 & \boldsymbol{m}_2 & \cdots & \boldsymbol{m}_n \end{matrix}\right]$),
并用向量 $\boldsymbol{a}$ 的分量进行加权求和($\sum{a_i \boldsymbol{m}_i}$),才得到向量在标准坐标系下的实际位置。
因此,在执行矩阵乘法之前的向量 $\boldsymbol{a}$ 的坐标值,是相对于坐标系 $\boldsymbol{M}$ 的基向量而言的,而乘法之后的结果 $\boldsymbol{b}$,则是该向量在标准坐标系下的坐标值。
苏剑林老师表达如下:
矩阵是一个点到另外一个点的变换,变换的方式就是坐标系的变换。
苏剑林. (Oct. 31, 2012). 《《新理解矩阵2》:矩阵是什么? 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1768
矩阵乘法
多个矩阵相乘形成复合矩阵,描述了多个线性变换的连续应用。注意这个线性变换的顺序是 从右到左 的,类比于函数复合。
从另一个角度看,用表示某一坐标系的矩阵,与描述某一线性变换的矩阵相乘,就是对坐标系施加变换。
考虑二维空间中的两个线性变换 $\boldsymbol{M}_1$ 和 $\boldsymbol{M}_2$:
$$\overbrace{\left[{\begin{matrix}\color{green} a & \color{green} b \\ \color{green} c & \color{green} d\end{matrix}}\right]}^{\boldsymbol{M}_2} \overbrace{\left[\begin{matrix}{\color{red} e} & {\color{blue} f} \\ {\color{red} g} & {\color{blue} h}\end{matrix}\right]}^{\boldsymbol{M}_1} = \left[\begin{matrix} {\color{green} a}{\color{red} e} + {\color{green} b}{\color{red} g} & {\color{green} a}{\color{blue} f} + {\color{green} b}{\color{blue} h} \\ {\color{green} c}{\color{red} e} + {\color{green} d}{\color{red} g} & {\color{green} c}{\color{blue} f} + {\color{green} d}{\color{blue} h} \end{matrix}\right] $$
还记得我们 将矩阵的每一列分别对应变换后基向量的位置 吗?在进行 $\boldsymbol{M}_2$ 变换之前,$\hat{\boldsymbol{i}}_1 = (e,g)$ 和 $\hat{\boldsymbol{j}}_1 = (f,h)$ 分别是 $\boldsymbol{M}_1$ 变换后基向量的位置。经过 $\boldsymbol{M}_2$ 变换后,新的基向量位置分别为 $\boldsymbol{M}_2 \hat{\boldsymbol{i}}_1$ 和 $\boldsymbol{M}_2 \hat{\boldsymbol{j}}_1$:
$$\begin{cases} \hat{\boldsymbol{i}}_2 = \left[{\begin{matrix}\color{green} a & \color{green} b \\ \color{green} c & \color{green} d\end{matrix}}\right] \left[{\begin{matrix}\color{red} e \\ \color{red} g \end{matrix}}\right] = \left[\begin{matrix}{\color{green} a}{\color{red} e} + {\color{green} b}{\color{red} g} \\ {\color{green} c}{\color{red} e} + {\color{green} d}{\color{red} g}\end{matrix}\right] \\ \hat{\boldsymbol{j}}_2 = \left[{\begin{matrix}\color{green} a & \color{green} b \\ \color{green} c & \color{green} d\end{matrix}}\right] \left[{\begin{matrix}\color{blue} f \\ \color{blue} h \end{matrix}}\right] = \left[\begin{matrix}{\color{green} a}{\color{blue} f} + {\color{green} b}{\color{blue} h} \\ {\color{green} c}{\color{blue} f} + {\color{green} d}{\color{blue} h}\end{matrix}\right] \end{cases} $$
可以看出,矩阵乘法既可以看作是对一组基向量(坐标系)进行变换,也可以看作是两个线性变换的复合。
比如 $\boldsymbol{A}\boldsymbol{B}$,我们就可以看作是矩阵 $\boldsymbol{B}$ 给出了一个坐标系,但是这个坐标系的各个分量是在 $\boldsymbol{A}$ 坐标系下测量得到的,而 $\boldsymbol{A}$ 是在直角坐标系下测量得到的,所以要把 $\boldsymbol{B}$ 的各个分量(列向量)与矩阵 $\boldsymbol{A}$ 作乘法后,才得到了这个仿射坐标系在直角坐标系下的“像”。
苏剑林. (Oct. 31, 2012). 《《新理解矩阵2》:矩阵是什么? 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1768
- 矩阵乘法不满足交换律。复合函数也是如此,$f(g(x))$ 不一定等于 $g(f(x))$。
- 矩阵乘法满足结合律,从变换按照相同顺序依次作用的角度看,这也是显然的。
相似矩阵
孟岩《理解矩阵》:
对于一个线性变换,只要你选定一组基,那么就可以找到一个矩阵来描述这个线性变换。换一组基,就得到一个不同的矩阵。所有这些矩阵都是这同一个线性变换的描述,但又都不是线性变换本身。
好在,我们可以找到同一个线性变换的矩阵兄弟们的一个性质,那就是:
若矩阵 $\boldsymbol{A}$ 与 $\boldsymbol{B}$ 是同一个线性变换的两个不同的描述(之所以会不同,是因为选定了不同的基,也就是选定了不同的坐标系),则一定能找到一个非奇异矩阵 $\boldsymbol{P}$,使得 $\boldsymbol{A}$、$\boldsymbol{B}$ 之间满足这样的关系:$$\boldsymbol{A}=\boldsymbol{P}^{-1}\boldsymbol{B}\boldsymbol{P} $$
……所谓相似矩阵,就是同一个线性变换的不同的描述矩阵。
苏剑林. (Nov. 11, 2012). 《《新理解矩阵4》:相似矩阵的那些事儿 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1777:
首先来一个比较物理的理解:矩阵 $\boldsymbol{A}$ 描述了向量 $\boldsymbol{x}$ 到向量 $\boldsymbol{y}$ 的一个运动,即 $\boldsymbol{y}=\boldsymbol{A}\boldsymbol{x}$;
但是,这仅仅是在直角坐标系下测量的,在一个新的坐标系 $\boldsymbol{P}$ 之下,假设测量结果为 $\boldsymbol{y}'=\boldsymbol{B}\boldsymbol{x}'$。根据我们在前边给出的矩阵几何理解,在 $\boldsymbol{P}$ 坐标系下测量的 $\boldsymbol{x}'$,在直角坐标系测量为 $\boldsymbol{x}$,可以表示成 $\boldsymbol{P}\boldsymbol{x}'=\boldsymbol{x}$;同理有 $\boldsymbol{P}\boldsymbol{y}'=\boldsymbol{y}$。代入就得到:$\boldsymbol{P}\boldsymbol{y}'=\boldsymbol{A}\boldsymbol{P}\boldsymbol{x}'$,可以稍稍改成 $\boldsymbol{P}\boldsymbol{y}'=\boldsymbol{P}(\boldsymbol{P}^{-1}\boldsymbol{A}\boldsymbol{P})\boldsymbol{x}'$,换句话说,在 $\boldsymbol{P}$ 坐标系下,从 $\boldsymbol{x}'$ 到 $\boldsymbol{y}'$ 的运动用矩阵 $\boldsymbol{B}=\boldsymbol{P}^{-1}\boldsymbol{A}\boldsymbol{P}$ 表示,这就是 $\boldsymbol{A}$ 的一个相似矩阵!所以说,一族相似矩阵,只不过是同一个线性变换在不同坐标系下的一个测量结果而已。
换种更直观的理解方式,对于标准坐标系下的线性变换 $\boldsymbol{A}$,和坐标系 $\boldsymbol{P}$ 下的线性变换 $\boldsymbol{B}$,若两者描述的是同一个线性变换,则对于坐标系 $\boldsymbol{P}$ 下的任意向量 $\boldsymbol{x}'$,有:
- $\boldsymbol{P}\boldsymbol{x}'$ 等于在标准坐标系下度量的向量 $\boldsymbol{x}$;
- $\boldsymbol{A}(\boldsymbol{P}\boldsymbol{x}')$ 表示在标准坐标系下,向量 $\boldsymbol{P}\boldsymbol{x}' = \boldsymbol{x}$ 经过线性变换 $\boldsymbol{A}$ 后的结果;
- $\boldsymbol{P}^{-1}(\boldsymbol{A}(\boldsymbol{P}\boldsymbol{x}'))$ 表示将变换结果重新映射回坐标系 $\boldsymbol{P}$ 下的度量结果;
- 此时,$\boldsymbol{B}\boldsymbol{x}'=(\boldsymbol{P}^{-1}\boldsymbol{A}\boldsymbol{P})\boldsymbol{x}'$,即 $\boldsymbol{B}=\boldsymbol{P}^{-1}\boldsymbol{A}\boldsymbol{P}$。
(这里实践了将线性变换类比于函数的思想,在之后解释叉积时还会用到。)
行列式:内涵与性质
矩阵的行列式(determinant),在几何上表示 线性变换对空间体积(面积)的缩放比例。
- 由于线性变换的性质——保持网格线的平行和均匀分布,同一线性变换对于任意大小和形状的区域,体积缩放比例都相同。因此行列式可以表示对任意区域的体积缩放比例。
- 显然有:$\textrm{det}(\boldsymbol{M_1} \boldsymbol{M}_2) = \textrm{det}(\boldsymbol{M}_1) \cdot \textrm{det}(\boldsymbol{M}_2)$。
两个线性变换相继作用时,整体对空间体积的缩放因子,等于每个变换单独作用时缩放因子的乘积。 - 若行列式 $\textrm{det}(\boldsymbol{A})<0$,则表示变换后空间体积的符号发生了变化,即变换改变了空间的定向(orientation)。
“定向”本质上描述的是一个坐标系中基向量的顺序所定义的一种内在“手性”(Chirality)或“旋向性”。一个经典的例子是二维中的镜像反射。 - 若行列式 $\textrm{det}(\boldsymbol{A})=0$,则表示变换后空间体积为零,即变换将区域压缩到了一个低维子空间。换言之,就是该矩阵所描述的变换,对空间进行了降维,这一变换无法恢复。
→ 行列式为零 的矩阵称为奇异矩阵(singular matrix),不可逆,该矩阵的 列向量(基向量)线性相关。
苏剑林. (Nov. 04, 2012). 《《新理解矩阵3》:行列式的点滴 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1770:
行列式的出现其实是为了判断一个矩阵是否可逆的,它通过某些方式构造出一个“相对简单”的函数来达到这个目的……
……矩阵可逆意味着什么呢?之前已经提到过,矩阵是从一个点到另外一个点的变换,那么逆矩阵很显然就是为了把它变换回来。我们还说过,“运动是相对的”,点的变换又可以用坐标系的变换来实现。
……一切坐标系都是平权的。那么给出一个坐标系,可以自然地变换到另外一个坐标系,也可以自然地将它变换回来。既然矩阵是这种坐标系的一个描述,那么矩阵不可逆的唯一可能性就是:这个 $n$ 阶矩阵的 $n$ 个列向量根本就构不成一个 $n$ 维空间的坐标系。
$n$ 个向量可以构成一个坐标系就意味着这些向量不共面!
$n$ 个向量可以构成一个坐标系就意味着这些向量构成的一个 $n$ 维平行立体(联想我们的平行六面体)体积不为 $0$!
这个能判断矩阵是否可逆的函数应满足如下性质:
- $\textrm{det}(\cdot)$ 应是矩阵的每个列向量的函数,即对于 $\boldsymbol{A} = [\boldsymbol{a}_1, \boldsymbol{a}_2, \cdots, \boldsymbol{a}_n]$,有 $\textrm{det}(\boldsymbol{A}) = f(\boldsymbol{a}_1, \cdots, \boldsymbol{a}_n)$;
- $\textrm{det}(\cdot)$ 应是线性的,即对于 $\boldsymbol{A} = [\boldsymbol{a}_1, \boldsymbol{a}_2, \cdots, \boldsymbol{a}_n]$,有
- $\textrm{det}(\boldsymbol{A}') = \textrm{det}([\boldsymbol{a}_1, \cdots, k\boldsymbol{a}_i, \cdots, \boldsymbol{a}_n]) = k \cdot \textrm{det}([\boldsymbol{a}_1, \cdots, \boldsymbol{a}_i, \cdots, \boldsymbol{a}_n]) = k \cdot \textrm{det}(\boldsymbol{A})$
- $\textrm{det}([\boldsymbol{a}_1, \cdots, \boldsymbol{z}_i, \cdots, \boldsymbol{a}_n]) = \textrm{det}([\boldsymbol{a}_1, \cdots, \boldsymbol{x}_i, \cdots, \boldsymbol{a}_n]) + \textrm{det}([\boldsymbol{a}_1, \cdots, \boldsymbol{y}_i, \cdots, \boldsymbol{a}_n])$,其中 $\boldsymbol{z}_i = \boldsymbol{x}_i + \boldsymbol{y}_i$
- 若有两列向量相同,则函数值为零,即 $\textrm{det}([\cdots, \boldsymbol{x}, \cdots, \boldsymbol{x}, \cdots]) = 0$;
- $\textrm{det}(\boldsymbol{I}) = 1$。
上述性质可以唯一确定一条函数。而在第一卦限的 $n$ 维平行立体的体积满足如上性质,在所有卦限上,推广的体积概念(可以有负号)同样满足。因此,直观来讲,体积就是行列式。
苏剑林. (Oct. 16, 2018). 《再谈非方阵的行列式 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/6096:
$n$ 维方阵的行列式的绝对值,等于它的各个行(或列)向量所张成的 $n$ 维立体的超体积。
- 交换矩阵的两行将行列式乘以 $-1$,即 $\textrm{det}(\cdots, \boldsymbol{a}_i, \cdots, \boldsymbol{a}_j, \cdots) = -\textrm{det}(\cdots, \boldsymbol{a}_j, \cdots, \boldsymbol{a}_i, \cdots)$。
- 如果矩阵是上三角矩阵或下三角矩阵,行列式等于对角线元素的乘积。对角矩阵既是上三角矩阵也是下三角矩阵。
- 如果矩阵中有一行或一列全为零,行列式为零。
逆矩阵、列空间与零空间
线性方程组可通过矩阵与向量的乘法来表达。考虑一个线性方程组 $\boldsymbol{A}\vec{\mathbf{x}} = \vec{\mathbf{v}}$:
- 如果 $\textrm{det}(\boldsymbol{A}) \neq 0$,即 $\boldsymbol{A}$ 可逆,则存在唯一解 $\vec{\mathbf{x}} = \boldsymbol{A}^{-1}\vec{\mathbf{v}}$。
- 如果 $\textrm{det}(\boldsymbol{A}) = 0$,即 $\boldsymbol{A}$ 不可逆,出现了降维,则可能有无穷多解或无解。
$\boldsymbol{A}$ 的各个列表示变换后的基向量,这些基向量(列向量)张成的空间称作 列空间,换言之变换后的空间就是列空间。此时 $\boldsymbol{A}$ 变换后的空间维数降低,也就是说,$\boldsymbol{A}$ 的列空间是一个低维子空间。- 无穷多解的情况发生在 $\vec{\mathbf{v}}$ 位于 $\boldsymbol{A}$ 的列空间时。
- 无解的情况发生在 $\vec{\mathbf{v}}$ 不位于 $\boldsymbol{A}$ 的列空间内时。此时 $\vec{\mathbf{v}}$ 的某些维度是 $\boldsymbol{A}$ 的列向量无法张成的,也就是说 $\vec{\mathbf{v}}$ 无法通过 $\boldsymbol{A}$ 的列向量线性组合得到,因此不存在解 $\vec{\mathbf{x}}$。
我们记 列空间的维数 为矩阵的 秩(rank),若 $\boldsymbol{A}$ 变换后空间维数为 $r$,则 $\textrm{rank}(\boldsymbol{A}) = r$。
对于一个 $n \times n$ 的方阵 $\boldsymbol{A}$:
- 若 $\textrm{rank}(\boldsymbol{A}) = n$,即变换后的空间维数为 $n$,此时矩阵可逆,秩达到了最大值,与列数相等,我们称该矩阵为 满秩矩阵。
- 若 $\textrm{rank}(\boldsymbol{A}) = n - k$,即变换后的空间维数为 $n-k$,此时矩阵不可逆,$\boldsymbol{A}$ 的列向量中有 $k$ 个向量是多余的(线性相关),可以被其他向量线性组合表示出来。
矩阵 $\boldsymbol{A}$ 可逆
$\Leftrightarrow$ $\textrm{det}(\boldsymbol{A}) \neq 0$ (变换后体积不为零)
$\Leftrightarrow$ $\textrm{rank}(\boldsymbol{A}) = n$ (没有降维)
$\Leftrightarrow$ $\boldsymbol{A}$ 的列向量线性无关
$\Leftrightarrow$ 齐次线性方程组 $\boldsymbol{A}\vec{\mathbf{x}} = \vec{\mathbf{0}}$ 只有零解
$\Leftrightarrow$ 非齐次线性方程组 $\boldsymbol{A}\vec{\mathbf{x}} = \vec{\mathbf{v}}$ 有唯一解
$\Leftrightarrow$ $\boldsymbol{A}$ 的特征值均非零。
非满秩矩阵将空间压缩到更低的维度上,此时会有一系列向量 $\vec{\mathbf{z}}$,使得 $\boldsymbol{A}\vec{\mathbf{z}} = \vec{\mathbf{0}}$,即这些向量在 $\boldsymbol{A}$ 变换后都映射到零向量 $\vec{\mathbf{0}} = [0, 0, \cdots, 0]^T$ 上,也就是落在了原点。
变换后落在原点的向量的集合称作矩阵的 零空间(null space) 或 核(kernel)。
$\boldsymbol{A}\vec{\mathbf{x}} = \vec{\mathbf{0}}$ 就是一个齐次线性方程组,显然 $\boldsymbol{A}$ 的零空间是齐次线性方程组的一组解空间(零解)。这样,我们还可以将矩阵的零空间类比为函数的零点($f(x)=0$)。
点积与对偶性
点积:
$$\boldsymbol{a} \cdot \boldsymbol{b} = \|\boldsymbol{a}\| \|\boldsymbol{b}\| \cos\theta = a_1b_1 + a_2b_2 + \cdots + a_nb_n $$
- 点积的几何意义:向量 $\boldsymbol{a}$ 在 $\boldsymbol{b}$ 方向上的投影长度与 $\boldsymbol{b}$ 长度的乘积。
- 余弦相似度 $\text{cosine similarity}$:
$$\text{cosine similarity} = \frac{\boldsymbol{a} \cdot \boldsymbol{b}}{\|\boldsymbol{a}\| \|\boldsymbol{b}\|} = \cos\theta $$
- 将二维向量转置,可以将点积看作矩阵乘法:
$$\boldsymbol{a} \cdot \boldsymbol{b} = \boldsymbol{a}^T \boldsymbol{b} = \left[\begin{matrix}a_1 & a_2 & \cdots & a_n\end{matrix}\right] \left[\begin{matrix}b_1 \\ b_2 \\ \vdots \\ b_n\end{matrix}\right] = a_1b_1 + a_2b_2 + \cdots + a_nb_n $$
从几何角度看,将其中一个向量看作 $1 \times n$ 的矩阵(线性变换),点积就是通过该线性变换将空间降至一维,而另外一个向量被投影到这个一维的数轴上。
这里可以体现出 对偶性(duality) 的思想:一个将多维空间映射到一维空间(数轴)的线性变换,对应着多维空间中的唯一一个向量。这个向量称为该变换的 对偶向量。
因此,应用一个从高维空间到数轴的变换 $\equiv$ 与表述该变换的对偶向量做点积。$\boldsymbol{a} \cdot \boldsymbol{b} = \boldsymbol{a}^T \boldsymbol{b}$
叉积与对偶性
向量的叉积(cross product)表示两个向量所张成的平行四边形的面积,并且结果是一个向量,方向垂直于这两个向量所在的平面。
$$\boldsymbol{a} \times \boldsymbol{b} = \|\boldsymbol{a}\| \|\boldsymbol{b}\| \sin\theta \, \boldsymbol{n} $$
其中 $\boldsymbol{n}$ 是垂直于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 的单位向量,方向由右手定则确定。
显然,叉积的标量值可以由行列式计算(此处为非严格定义;矩阵与其转置的行列式相等):
$$\boldsymbol{a} \times \boldsymbol{b} = \textrm{det}\left(\left[\begin{matrix}\boldsymbol{a} & \boldsymbol{b}\end{matrix}\right]\right) = \textrm{det}\left(\left[\begin{matrix}\boldsymbol{a}^T \\ \boldsymbol{b}^T\end{matrix}\right]\right) $$
直观理解,将这两个向量看作基向量,基向量张成的平行四边形的面积,比上标准坐标系下的单位面积,就是这两个基向量代表的线性变换对面积的缩放比例,即由基向量构成的矩阵的行列式。
真正的叉积定义为:
$$\boldsymbol{a} \times \boldsymbol{b} = \left|\begin{matrix} \boldsymbol{i} & \boldsymbol{j} & \boldsymbol{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{matrix}\right| = \begin{aligned} \boldsymbol{i}({\color{orange}a_2} \cdot {\color{blue}b_3} - {\color{orange}a_3} \cdot {\color{blue}b_2}) & + \\ \boldsymbol{j}({\color{orange}a_3} \cdot {\color{blue}b_1} - {\color{orange}a_1} \cdot {\color{blue}b_3}) & + \\ \boldsymbol{k}({\color{orange}a_1} \cdot {\color{blue}b_2} - {\color{orange}a_2} \cdot {\color{blue}b_1})& \end{aligned} = \left[\begin{matrix}a_2b_3 - a_3b_2 \\ a_3b_1 - a_1b_3 \\ a_1b_2 - a_2b_1\end{matrix}\right] $$
- 叉积只在三维空间中定义。
通常,我们可以根据这个定义来计算叉积结果的大小和方向,但是如何从几何上理解,大小和方向的结果是这样的呢?
上一节中,我们提到了一个对偶性的情形:应用线性变换等价于与对偶向量做点积。现在我们尝试将这个对偶性的思想推广到叉积:我们希望找到一个将三维空间映射到一维空间的线性变换,其对偶向量就是叉积的结果向量。
现在先考虑如下函数:
$$f\left(\left[\begin{matrix}x \\ y \\ z\end{matrix}\right]\right) = \textrm{det}\left(\left[\begin{matrix}x & a_1 & b_1\\ y & a_2 & b_2\\ z & a_3 & b_3\end{matrix}\right]\right) $$
该函数是线性的,因此该函数所代表的线性变换,可通过与一个 $1 \times 3$ 的特殊矩阵 $\boldsymbol{p}$ 相乘来表示:
$$f\left(\left[\begin{matrix}x \\ y \\ z\end{matrix}\right]\right) = \overbrace{\left[\begin{matrix}p_1 & p_2 & p_3\end{matrix}\right]}^{\boldsymbol{p}^T} \left[\begin{matrix}x \\ y \\ z\end{matrix}\right] $$
然后,根据对偶性,我们可以将这个矩阵乘法(降维的线性变换)看作向量的点积(等式 1):
$$\overbrace{\left[\begin{matrix}p_1 & p_2 & p_3\end{matrix}\right]}^{\boldsymbol{p}^T} \left[\begin{matrix}x \\ y \\ z\end{matrix}\right] = \overbrace{\left[\begin{matrix}p_1 \\ p_2 \\ p_3\end{matrix}\right]}^{\boldsymbol{p}} \cdot \left[\begin{matrix}x \\ y \\ z\end{matrix}\right] = \textrm{det}\left(\left[\begin{matrix}x & a_1 & b_1\\ y & a_2 & b_2\\ z & a_3 & b_3\end{matrix}\right]\right) $$
现在有:
$${\color{red}p_1} \cdot x + {\color{red}p_2} \cdot y + {\color{red}p_3} \cdot z = \begin{aligned} x({\color{orange}a_2} \cdot {\color{blue}b_3} - {\color{orange}a_3} \cdot {\color{blue}b_2}) & + \\ y({\color{orange}a_3} \cdot {\color{blue}b_1} - {\color{orange}a_1} \cdot {\color{blue}b_3}) & + \\ z({\color{orange}a_1} \cdot {\color{blue}b_2} - {\color{orange}a_2} \cdot {\color{blue}b_1})& \end{aligned} $$
从而可以得到 $\boldsymbol{p}$ 的各个分量。此时可以发现,$\boldsymbol{p}$ 就是 $\boldsymbol{a} \times \boldsymbol{b}$ 所表示的变换:
$$\boldsymbol{p} = \left[\begin{matrix}p_1 \\ p_2 \\ p_3\end{matrix}\right] = \left[\begin{matrix}a_2b_3 - a_3b_2 \\ a_3b_1 - a_1b_3 \\ a_1b_2 - a_2b_1\end{matrix}\right] = \boldsymbol{a} \times \boldsymbol{b} $$
要想找到这样一个可以满足 $\boldsymbol{p} = \boldsymbol{a} \times \boldsymbol{b}$ 的对偶向量 $\boldsymbol{p}$,我们需要满足 等式 1:
- 对 任意一个 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$ 与 $\boldsymbol{p}$ 的点积,
- 恒等于由 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$、$\boldsymbol{a}$ 和 $\boldsymbol{b}$ 三个向量组成的矩阵的行列式。
进一步推理就是:
- 任意一个 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$ 投影到 $\boldsymbol{p}$ 方向上的长度与 $\boldsymbol{p}$ 长度的乘积,
- 恒等于该 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$、$\boldsymbol{a}$ 和 $\boldsymbol{b}$ 三个向量张成的平行六面体的体积。
再推:
- 任意一个 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$ 投影到 $\boldsymbol{p}$ 方向上的长度,与 $\boldsymbol{p}$ 长度的乘积,
- 恒等于该 $\left[\begin{matrix}x & y & z\end{matrix}\right]^T$ 投影到垂直于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 的方向上的长度,与 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 张成的平行四边形面积的乘积。
因此,我们要找的 $\boldsymbol{p}$,正是垂直于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 张成的平行四边形的向量,并且其长度等于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 张成的平行四边形的面积。
在方向也正确的情况下,这个 $\boldsymbol{p}$ 就可以满足 $\boldsymbol{p} = \boldsymbol{a} \times \boldsymbol{b}$。
上述内容总结而言:
- 我们希望找出一个自变量为 $3 \times 1$ 向量的函数 $f(\boldsymbol{x}) = \textrm{det}\left(\left[\begin{matrix}\boldsymbol{x} & \boldsymbol{a} & \boldsymbol{b}\end{matrix}\right]\right)$,发现该函数是一个线性函数。
- 此时目标转化为,找出一个 $1 \times 3$ 的矩阵(线性变换) $\boldsymbol{p}^T$,使得该函数可以表示为 $\boldsymbol{p}^T \boldsymbol{x}$。根据对偶性知,$\boldsymbol{p}^T \boldsymbol{x} = \boldsymbol{p} \cdot \boldsymbol{x}$。
- 现在展开式子 $\boldsymbol{p} \cdot \boldsymbol{x} = \textrm{det}\left(\left[\begin{matrix}\boldsymbol{x} & \boldsymbol{a} & \boldsymbol{b}\end{matrix}\right]\right)$,可以发现 $\boldsymbol{p}$ 的各个分量正好是 $\boldsymbol{a} \times \boldsymbol{b}$ 的结果。也就是说,对偶向量 $\boldsymbol{p} = \boldsymbol{a} \times \boldsymbol{b}$。
- 再通过几何角度理解式子 $\boldsymbol{p} \cdot \boldsymbol{x} = \textrm{det}\left(\left[\begin{matrix}\boldsymbol{x} & \boldsymbol{a} & \boldsymbol{b}\end{matrix}\right]\right)$,可以发现 $\boldsymbol{p}$ 的方向垂直于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 张成的平面,并且其长度等于 $\boldsymbol{a}$ 和 $\boldsymbol{b}$ 张成的平行四边形的面积。这样我们就找到了这个线性变换及其对偶向量。
特征向量、特征值、对角化
对于一个线性变换,我们关注它对一个特定向量的作用,考虑该向量张成的空间,即一条经过原点和向量尖端的直线。
大部分向量在变换后离开了其张成的空间,或多或少发生了旋转,但有一些向量在变换后仍然位于其张成的空间上,仅仅在大小上发生了变化,这些向量称为该变换的 特征向量(eigenvector),每个特征向量在变换中大小变化的比例称为 特征值(eigenvalue):
$$\boldsymbol{A}\boldsymbol{v} = \lambda \boldsymbol{v} $$
其中 $\boldsymbol{A}$ 是线性变换,$\boldsymbol{v}$ 是特征向量,$\lambda$ 是对应的特征值。
很显然,由于矩阵并没有改变特征向量的方向(不包括反向),只改变了大小,才会导致矩阵×特征向量=特征值×特征向量。反向后的向量仍在其张成的空间上,特征值也可以为负。
考虑一个旋转变换,如果能找到旋转的特征向量,那么找到的就是旋转轴。旋转变换的特征值为 $1$,因为旋转并没有改变旋转轴上向量的长度。
上面的等式可以改写为:
$$(\boldsymbol{A} - \lambda \boldsymbol{I})\boldsymbol{v} = \boldsymbol{0} $$
此时 $\boldsymbol{v}$ 是齐次线性方程组的解。为了使该方程组还有非零解,必须使得 $\boldsymbol{A} - \lambda \boldsymbol{I}$ 所代表的变换降维 / 行列式为零,这样才会存在非零向量,使得矩阵与该向量乘积为零向量。因此,我们可以通过求解如下 特征方程 来得到特征值,进而求得特征向量:
$$\textrm{det}(\boldsymbol{A} - \lambda \boldsymbol{I}) = 0 $$
若一个线性变换可由对角矩阵 $\displaystyle \boldsymbol{\Lambda} = \left[\begin{matrix}\lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n\end{matrix}\right]$ 来表示,
那么它的作用是对每个坐标轴进行独立的缩放,而不改变坐标轴的方向。
因此,对于标准基向量 $\mathbf{e}_i$(其中第 $i$ 个分量为 $1$,其余为 $0$),我们有:$\boldsymbol{\Lambda} \mathbf{e}_i = \lambda_i \mathbf{e}_i$。换言之,每个标准基向量 $\mathbf{e}_i$ 都是对角矩阵的特征向量,对应的特征值分别为 $\lambda_i$。
当然,标准基向量的任意标量倍也是对角矩阵的特征向量,该对角矩阵的各个列向量(基向量)也是其特征向量。
计算对角矩阵的高次幂较为简单。
若变换 $\boldsymbol{A}$ 的特征向量足够多到可以张成整个空间,则将其特征向量作为基向量,构造一个新的变换 $\boldsymbol{P}$,称其为基变换矩阵(change of basis matrix),该矩阵显然可逆。此时有:
$$\boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{P} = \boldsymbol{\Lambda} $$
其中 $\boldsymbol{\Lambda}$ 是一个对角矩阵,对角线上的元素为各个特征值。这个过程称为 对角化(diagonalization)。
- 为什么 $\boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{P}$ 之后的结果是对角矩阵呢?
因为 $\boldsymbol{P}$ 的基向量是 $\boldsymbol{A}$ 的特征向量,$\boldsymbol{A}$ 变换作用在 $\boldsymbol{P}$ 坐标系的基向量上时,仅仅是缩放了这些列向量,而没有改变它们的方向,因此 $\boldsymbol{A}\boldsymbol{P}$ 的结果仍然是 $\boldsymbol{P}$ 的列向量的线性组合,只不过每个列向量被缩放了相应的特征值。再乘以 $\boldsymbol{P}^{-1}$,相当于将结果重新映射回标准坐标系下,不过每个基向量仍是仅被其对应的特征值缩放,因此结果是一个对角矩阵。 - 数学解释在这里可能更直观一点:
考虑矩阵乘法 $\boldsymbol{A} \boldsymbol{P}$:
$\boldsymbol{A} \boldsymbol{P} = \boldsymbol{A} \begin{bmatrix} \boldsymbol{v}_1 & \boldsymbol{v}_2 & \cdots & \boldsymbol{v}_n \end{bmatrix} = \begin{bmatrix} \boldsymbol{A} \boldsymbol{v}_1 & \boldsymbol{A} \boldsymbol{v}_2 & \cdots & \boldsymbol{A} \boldsymbol{v}_n \end{bmatrix} = \begin{bmatrix} \lambda_1 \boldsymbol{v}_1 & \lambda_2 \boldsymbol{v}_2 & \cdots & \lambda_n \boldsymbol{v}_n \end{bmatrix}$
这可以写成:
$\boldsymbol{A} \boldsymbol{P} = \begin{bmatrix} \boldsymbol{v}_1 & \boldsymbol{v}_2 & \cdots & \boldsymbol{v}_n \end{bmatrix} \begin{bmatrix} \lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n \end{bmatrix} = \boldsymbol{P} \boldsymbol{\Lambda}$
两边再左乘 $\boldsymbol{P}^{-1}$,得到 $\boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{P} = \boldsymbol{\Lambda}$。 - 上式表明,$\boldsymbol{A}$ 和 $\boldsymbol{\Lambda}$ 是相似矩阵。
- 并非所有矩阵都可以对角化。对角化的条件是矩阵必须有 $n$ 个线性无关的特征向量(对于 $n \times n$ 的方阵)。
- 应用:若要计算某个矩阵的高次幂,可以先对角化,然后计算对角矩阵的高次幂,最后再变换回原坐标系:$\boldsymbol{A}^n = \boldsymbol{P} \boldsymbol{\Lambda}^n \boldsymbol{P}^{-1}$
参考:2016 年数一 21 题
抽象向量空间
线性的严格定义:
- 可加性(additivity):$L(\boldsymbol{u} + \boldsymbol{v}) = L(\boldsymbol{u}) + L(\boldsymbol{v})$
- 成比例(scaling):$L(c\boldsymbol{u}) = cL(\boldsymbol{u})$
换言之,线性变换保持向量加法和数乘。
函数空间中的函数可以看作无穷维向量。微分算子 $\boldsymbol{D} = \frac{d}{dx}$ 是一个线性变换。现在我们尝试用矩阵来描述求导:
- 先将空间局限在全体多项式上,要为这个空间赋予坐标的含义,需要选定一组基向量。
我们可以选择 $x$ 的不同次幂 $\{1, x, x^2, x^3, \cdots\}$ 作为基向量集合。
此时的坐标系可以看做是无限维的标准坐标系 $\boldsymbol{I}$(单位矩阵),$x^n$ 对应第 $n+1$ 条列向量 $\boldsymbol{I}_{:, n+1} = b_n(x) = x^n = [0, \cdots, \overbrace{1}^{\textrm{Row }n+1}, \cdots]^T, n = 0, 1, 2, \ldots$。 - 对任意的多项式 $f(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 + \cdots$,其系数向量为 $\boldsymbol{f} = [a_0, a_1, a_2, a_3, \cdots]^T$。此时显然有 $f(x) = \boldsymbol{I} \boldsymbol{f}$。
- 在该坐标系中,求导可用一个无限维矩阵 $\boldsymbol{D}$ 来表示,其中绝大部分元素为 $0$,但在次对角线上按序排列正整数:
$$\boldsymbol{D} = \frac{d}{dx} = \begin{bmatrix} 0 & {\color{red} 1} & 0 & 0 & \cdots \\ 0 & 0 & {\color{red} 2} & 0 & \cdots \\ 0 & 0 & 0 & {\color{red} 3} & \cdots \\ 0 & 0 & 0 & 0 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix} \Rightarrow \frac{df(x)}{dx} = \boldsymbol{D} \boldsymbol{f} = \begin{bmatrix} 0 & {\color{red} 1} & 0 & 0 & \cdots \\ 0 & 0 & {\color{red} 2} & 0 & \cdots \\ 0 & 0 & 0 & {\color{red} 3} & \cdots \\ 0 & 0 & 0 & 0 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix} \begin{bmatrix} a_0 \\ a_1 \\ a_2 \\ a_3 \\ \vdots \end{bmatrix} $$
可以看到 $\boldsymbol{D}$ 的 $n$ 行 $n+1$ 列元素 $D_{n, n+1} = n$,其余元素为 $0$。$\boldsymbol{D}$ 为什么是这个样子的呢? - 对于基函数(基向量 $\boldsymbol{I}_{:, n+1}$):$b_n(x) = x^n = [0, \cdots, \overbrace{1}^{\textrm{Row }n+1}, \cdots]^T, n = 0, 1, 2, \ldots$,有:
$$\frac{d}{dx}b_n(x) = \frac{d}{dx}x^n = n x^{n-1} = [0, \cdots, {\overbrace{\color{red} n}^{\color{red}{\textrm{Row }}\color{red} n}}, \cdots]^T,\;\frac{d}{dx}b_0(x) = [0, 0, 0, \cdots]^T $$
该向量是基向量经求导变换 $\boldsymbol{D}$ 后得到的新的基向量,在矩阵中的位置和原来的基向量一致,简单来说矩阵的列就是变换后的基向量,因此 $\frac{d}{dx}b_n(x)$ 为 $\boldsymbol{D}$ 的第 $n+1$ 列。
线性代数中的概念 | 应用于函数时的别名 |
---|---|
线性变换 | 线性算子(linear operator) |
点积 | 内积(inner product) |
特征向量 | 特征函数(eigenfunction) |
向量加法和数乘的公理(axioms):
- 加法结合律:$\boldsymbol{u} + (\boldsymbol{v} + \boldsymbol{w}) = (\boldsymbol{u} + \boldsymbol{v}) + \boldsymbol{w}$
- 加法交换律:$\boldsymbol{u} + \boldsymbol{v} = \boldsymbol{v} + \boldsymbol{u}$
- 加法零元:存在零向量 $\boldsymbol{0}$,使得 $\boldsymbol{u} + \boldsymbol{0} = \boldsymbol{u}$
- 加法逆元:对于任意向量 $\boldsymbol{u}$,存在一个向量 $-\boldsymbol{u}$,使得 $\boldsymbol{u} + (-\boldsymbol{u}) = \boldsymbol{0}$
- 数乘结合律:$a(b\boldsymbol{u}) = (ab)\boldsymbol{u}$
- 数乘分配律(1):$a(\boldsymbol{u} + \boldsymbol{v}) = a\boldsymbol{u} + a\boldsymbol{v}$
- 数乘分配律(2):$(a + b)\boldsymbol{u} = a\boldsymbol{u} + b\boldsymbol{u}$
- 数乘单位元:$1\boldsymbol{u} = \boldsymbol{u}$
矢量、数列、函数等的集合,遵循着上述公理,对其进行抽象,就构成了一个 向量空间。
一个抽象向量空间,包含两个组成部分:
- 向量的集合,但是其中的向量可以是任何东西:函数、多项式、矩阵,甚至物理信号等。
- 定义在这些向量上的加法和数乘运算。
克莱姆法则、正交、行列式
行列式和特征向量与所选坐标系无关:
- 行列式表示线性变换对空间体积的缩放比例;
$$\det(\boldsymbol{A}') = \det(\boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{P}) = \det(\boldsymbol{P}^{-1}) \det(\boldsymbol{A}) \det(\boldsymbol{P}) = \frac{1}{\det(\boldsymbol{P})} \det(\boldsymbol{A}) \det(\boldsymbol{P}) = \det(\boldsymbol{A}) $$
- 特征向量表示线性变换中在留在其自身所张成的空间中的向量。
$$\boldsymbol{A}' \boldsymbol{v}' = (\boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{P}) (\boldsymbol{P}^{-1} \boldsymbol{v}) = \boldsymbol{P}^{-1} \boldsymbol{A} \boldsymbol{v} = \boldsymbol{P}^{-1} (\lambda \boldsymbol{v}) = \lambda (\boldsymbol{P}^{-1} \boldsymbol{v}) = \lambda \boldsymbol{v}' $$
克莱姆法则和高斯消元法是解线性方程组的两种方法。对于如下方程组 $\boldsymbol{Ax} = \boldsymbol{b}$:
$$\begin{cases} a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n = b_1 \\ a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n = b_2 \\ \vdots \\ a_{n1}x_1 + a_{n2}x_2 + \cdots + a_{nn}x_n = b_n \end{cases} \Rightarrow \overbrace{\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}}^{\boldsymbol{A}} \overbrace{\begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix}}^{\boldsymbol{x}} = \overbrace{\begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix}}^{\boldsymbol{b}} $$
目前只讨论 $\textrm{det}(\boldsymbol{A}) \ne 0$,即线性变换后维数保持不变的情况,此时该变换的输入输出一一对应,方程组有唯一解。
在 $\boldsymbol{A}$ 为 规范正交矩阵(orthonormal matrix) 的情况下,$\boldsymbol{A}$ 只进行旋转,没有拉伸、压缩或变形。
正交(orthogonal)矩阵是指其转置矩阵等于其逆矩阵的方阵。规范正交矩阵是特殊的正交矩阵,其列向量是单位向量且两两正交。
例如,二维空间中的旋转矩阵 $\boldsymbol{R} = \begin{bmatrix}\cos \theta & -\sin \theta \\\sin \theta & \cos \theta\end{bmatrix}$ 就是一个规范正交矩阵。
对于大多数线性变换而言,点积并不保持不变,因此我们无法通过点积来求解 $\boldsymbol{Ax} = \boldsymbol{b}$。
而那些保持点积不变的线性变换,就是规范正交矩阵,可以使基向量仍然是单位向量且两两正交。
i.e. If $\boldsymbol{T}\boldsymbol{v} \cdot \boldsymbol{T}\boldsymbol{w} = \boldsymbol{v} \cdot \boldsymbol{w}$ for all vectors $\boldsymbol{v}$ and $\boldsymbol{w}$, then $\boldsymbol{T}$ is orthonormal.
因此,在 $\boldsymbol{A}$ 为规范正交矩阵的情况下,可以通过点积来求解 $\boldsymbol{Ax} = \boldsymbol{b}$:
对于正交变换 $\boldsymbol{A}$,其已知的输出向量和矩阵列向量的点积,等于未知的输入向量和变换前的基向量的点积。
原因是,变换前后基向量和输入输出向量长度不变,且输出向量和变换后基向量的夹角等于输入向量和变换前基向量的夹角。
此时,$\boldsymbol{x}$ 的坐标就是 $\boldsymbol{b}$ 与 $\boldsymbol{A}$ 的列向量的点积(即在各个列向量上的投影):$x_i = \boldsymbol{b} \cdot \boldsymbol{A}_{:, i}$
根据上面这种特殊情况的启发,我们希望找到一种对输入向量坐标值的几何解释,使得其能在线性变换之后保持不变。——自然想到 行列式,毕竟行列式表示线性变换对空间体积的缩放比例,与坐标系无关。
未知输入向量 $\boldsymbol{x}$ 与除了 $\boldsymbol{e}_i$ 之外的所有基向量张成的平行立体的(有向)体积,其值等于 $x_i$。
以三维为例,$\boldsymbol{x}$ 与 $\boldsymbol{e}_1$ 和 $\boldsymbol{e}_2$ 张成的平行六面体,其底面为 $1 \times 1$ 的正方形,高为 $x_3$,故体积为 $x_3$。数学表达如下:
$$\textrm{det}\left(\left[\begin{matrix}\boldsymbol{e}_1 & \boldsymbol{e}_2 & \boldsymbol{x}\end{matrix}\right]\right) = \textrm{det}\left(\left[\begin{matrix}1 & 0 & x_1 \\ 0 & 1 & x_2 \\ 0 & 0 & x_3\end{matrix}\right]\right) = 1 \cdot 1 \cdot x_3 = x_3 $$
同理有:$\textrm{det}\left(\left[\begin{matrix}\boldsymbol{x} & \boldsymbol{e}_2 & \boldsymbol{e}_3\end{matrix}\right]\right) = x_1,\; \textrm{det}\left(\left[\begin{matrix}\boldsymbol{e}_1 & \boldsymbol{x} & \boldsymbol{e}_3\end{matrix}\right]\right) = x_2$
此时,对于 $\boldsymbol{Ax} = \boldsymbol{b}$,经历线性变换 $\boldsymbol{A}$ 后,$\boldsymbol{x}$ 与除了 $\boldsymbol{e}_i$ 之外的所有基向量张成的平行立体的体积,缩放了 $\textrm{det}(\boldsymbol{A})$ 倍,也就是说:新的体积 $= \textrm{det}(\boldsymbol{A}) \cdot x_i$.
而新的体积又等于 $\boldsymbol{b}$ 与除了 $\boldsymbol{A}$ 的第 $i$ 列之外的所有列向量张成的平行立体的体积,因此有:
$$x_i = \frac{\textrm{New Area}}{\textrm{det}(\boldsymbol{A})} = \frac{\textrm{det}\left(\left[\begin{matrix}\boldsymbol{A}_{:, 1} & \cdots & \boldsymbol{A}_{:, i-1} & \boldsymbol{b} & \boldsymbol{A}_{:, i+1} & \cdots & \boldsymbol{A}_{:, n}\end{matrix}\right]\right)}{\textrm{det}(\boldsymbol{A})} $$
即,将 $\boldsymbol{A}$ 的第 $i$ 列替换为 $\boldsymbol{b}$ 后的行列式,除以 $\textrm{det}(\boldsymbol{A})$,就得到 $\boldsymbol{x}$ 的第 $i$ 个分量。
以二维空间为例,对方程组 $\left[\begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix}\right] \left[\begin{matrix}x \\ y\end{matrix}\right] = \left[\begin{matrix}b_1 \\ b_2\end{matrix}\right]$ 进行求解:
$$y = \frac{\textrm{det}\left(\left[\begin{matrix}\boldsymbol{A}_{:, 1} & \boldsymbol{b}\end{matrix}\right]\right)}{\textrm{det}(\boldsymbol{A})} = \frac{\textrm{det}\left(\left[\begin{matrix}a_{11} & b_1 \\ a_{21} & b_2\end{matrix}\right]\right)}{\textrm{det}\left(\left[\begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix}\right]\right)} = \frac{a_{11}b_2 - a_{21}b_1}{a_{11}a_{22} - a_{21}a_{12}} $$
$$x = \frac{\textrm{det}\left(\left[\begin{matrix}\boldsymbol{b} & \boldsymbol{A}_{:, 2}\end{matrix}\right]\right)}{\textrm{det}(\boldsymbol{A})} = \frac{\textrm{det}\left(\left[\begin{matrix}b_1 & a_{12} \\ b_2 & a_{22}\end{matrix}\right]\right)}{\textrm{det}\left(\left[\begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix}\right]\right)} = \frac{b_1a_{22} - b_2a_{12}}{a_{11}a_{22} - a_{21}a_{12}} $$
这便是克莱姆法则(Cramer’s Rule)的内容。
参考资料与推荐阅读
- 【官方双语/合集】线性代数的本质 - 系列合集
- 苏剑林博客分类整理
- 孟岩. 《理解矩阵》.
- 苏剑林. (Oct. 31, 2012). 《《新理解矩阵2》:矩阵是什么? 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1768
- 苏剑林. (Nov. 04, 2012). 《《新理解矩阵3》:行列式的点滴 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1770
- 苏剑林. (Nov. 11, 2012). 《《新理解矩阵4》:相似矩阵的那些事儿 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/1777
- 苏剑林. (Dec. 25, 2013). 《《新理解矩阵5》:体积=行列式 》[Blog post]. Retrieved from https://spaces.ac.cn/archives/2208
- Interactive Linear Algebra
- 2016考研数学一真题及解析
- 学物理真能去二次元吗? / 如果你事线代, 也好
彩蛋
- 彩蛋图片:
- 作者:syuri22,pid: 132450
- 来源:pixiv ID: 134315846