教程 
线代破门而入

zczzzzz · 杭州师范大学


Such axioms, together with other unmotivated definitions, serve mathematicians mainly by making it difficult for the uninitiated to master their subject, thereby elevating its authority.

— Vladimir Igorevich Arnold

那些公理,连同其他毫无来由的定义,其主要作用不过是让门外汉望而却步,以此抬高数学的权威。

— 弗拉基米尔·阿诺德


Chapter 1 写在前面

这是继《C破门而入》后,又一力作。市面上的线代教材的语言表述(尤其是课后答案的编写)可以说是惨不忍睹,对新手来说着实不够友好。尤其这还是一门比较抽象的学科,这些教育资源迫使学生只能去死记硬背一条条所谓的定义和性质,妖魔化了这一门学科,这与数学的精妙性是背道而驰的。本文并不会教会你具体的线代计算技巧,比如如何化简各种被人为通过某种方式所凑好数据的、为应试考试而生的行列式的值,而是会阐述一种最最朴素的,认识线代世界的观念。

Chapter 2 矩阵

如果要找一个符号来代表线性代数,我想一定是矩阵了。什么是矩阵呢?先说结论,矩阵是一种变换,是一种映射,正如 AxA\mathbf{x} 代表着你把 AA 这个映射方式作用在 x\mathbf{x} 上一样,当你把矩阵乘在某个东西的左边或右边时,也是对那个东西做了一个变换。

那么问题来了,这个变换是怎样的呢?下面我们论述的,作用对象都以 x=(x1,x2,x3)T\mathbf{x} = (x_1, x_2, x_3)^T 为例。我们不妨考虑最简单的情况,有一个单位矩阵 EE,把它乘在 x\mathbf{x} 的左边,你会惊讶地发现 Ex=xE\mathbf{x} = \mathbf{x}!这是为什么呢?以第一行为例,按照矩阵的乘法规则,

1x1+0x2+0x3=x1.1 \cdot x_1 + 0 \cdot x_2 + 0 \cdot x_3 = x_1.

其它行同理,都没有变,神不神奇?你可能会说这难道不显然吗?先别急,让我们好好看看它为什么没变。

如果把 (1,0,0)T(1, 0, 0)^T, (0,1,0)T(0, 1, 0)^T, (0,0,1)T(0, 0, 1)^T 看作 x\mathbf{x} 在三维直角坐标系下的三个坐标基,你会发现 II 相乘,结果 x\mathbf{x} 的第一个坐标刚好是 EE 的第一列的唯一一个 11 乘在 x1x_1 上,第二个坐标刚好是 EE 的第二列的唯一一个 11 乘在 x2x_2 上,第三个坐标刚好是 EE 的第三列的唯一一个 11 乘在 x3x_3 上。这给了我们一种感觉,似乎矩阵的每一列与被乘的向量的某一个坐标存在某些对应关系。

这好奇怪,怎么就给他对应上了。为啥要写成 1x1+0x2+0x3=x11 \cdot x_1 + 0 \cdot x_2 + 0 \cdot x_3 = x_1 呢?书上教你的吗?我看你还是太功利地迫不及待想算出结果的每一个分量了。别急,我们换一种写法:

x=x1(100)+x2(010)+x3(001).\mathbf{x} = x_1 \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} + x_2 \begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} + x_3 \begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix}.

你可能会说,这不是一样吗?你再看看呢,x\mathbf{x} 啊,原来得到的新向量便是原来向量的坐标与这三个标准基相乘再相加得到的!

我们再看下面这个计算:

(200010001)(x1x2x3)=(2x1x2x3).\begin{pmatrix} 2 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 2x_1 \\ x_2 \\ x_3 \end{pmatrix}.

这下 x\mathbf{x} 终于变了,怎么变的呢?第一个坐标变成了 22 倍!这在结果空间里长什么样呢?原来是 x\mathbf{x} 沿 x1x_1 轴方向被拉长到 22 倍了!对比一下 EE,还有什么不一样了呢?Emm……上面矩阵的第一列也是 EE 的第一列的 22 倍!啊,我们发现了,所谓矩阵是一种变换,就是变换了基!

写到这里我不得不辨析一下两个概念,也就是在某些教材的参考答案中被混淆使用的——向量坐标。你可能觉得我在说废话,但我觉得正是作为一个初学者容易搞混的,于是我决定新开一段。

就以上面的计算为例,看看下面这句话:"x\mathbf{x} 作为一个向量,它的坐标是 (x1,x2,x3)(x_1, x_2, x_3)。"这句话是不是很对?不好意思,这是不严谨的,坐标是建立在一组确定的基之上的,你不能只说坐标是什么,而不指明基是什么。之所以大多的参考书上都这样写,是因为他们都默认了在标准基(也就是 {(1,0,0)T,(0,1,0)T,(0,0,1)T}\{(1, 0, 0)^T, (0, 1, 0)^T, (0, 0, 1)^T\})下讨论。甚至我们可以这样说,对于 x\mathbf{x} 这个向量,在基 {(1,0,0)T,(0,1,0)T,(0,0,1)T}\{(1, 0, 0)^T, (0, 1, 0)^T, (0, 0, 1)^T\} 下的坐标是 (x1,x2,x3)(x_1, x_2, x_3),而在其他基下的坐标也会不同。

到这里,我们终于有点发现了,似乎矩阵 AA 所对应的变换就是把 x\mathbf{x} 在标准基下的坐标强制应用在 AA 的每一列所对应的新的基下。这可能也没那么好理解,没关系,我们再看一个例子:

(010100001)(x1x2x3)=(x2x1x3).\begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} x_2 \\ x_1 \\ x_3 \end{pmatrix}.

非常神奇,这个矩阵居然让 x\mathbf{x} 的前两个分量交换了!让我们仔细看看发生了什么,原来就是 II 交换了前两列的结果。如果动用一下您的空间想象力,您会发现这个矩阵就是原先的 R3\mathbb{R}^3 空间关于 x1=x2x_1 = x_2 平面对称的结果。相信您已经有一点感觉了,那么接下来我们不再计算,就看矩阵,您能想象出是怎样的变换吗?

(010100001),(110010001).\begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix}, \qquad \begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}.

不难发现,第一个矩阵对应的空间绕 x3x_3 轴旋转了 9090^\circ,原来的 x1x_1 轴在原来 x2x_2 轴的负方向上;而第二个矩阵则是被压扁了一点,x1x_1 轴正方向与 x2x_2 轴正方向的夹角变为了 4545^\circ

Chapter 3 线性方程组

在学习时,你可能会认为线性方程组是一个可怕的庞然大物,有那么多的未知数,有那么多等式。然而,在这一节里,我们将会探寻线性方程组的本质。

我们还是将以三个未知数的线性方程组为例,因为三维看起来略比二维全面,但又便于想象。我们把它称作非齐次线性方程组,若其形如:

{a11x1+a12x2+a13x3=b1,a21x1+a22x2+a23x3=b2,a31x1+a32x2+a33x3=b3.\begin{cases} a_{11}x_1 + a_{12}x_2 + a_{13}x_3 = b_1, \\ a_{21}x_1 + a_{22}x_2 + a_{23}x_3 = b_2, \\ a_{31}x_1 + a_{32}x_2 + a_{33}x_3 = b_3. \end{cases}

这个非齐次线性方程组的系数矩阵为:

A=(a11a12a13a21a22a23a31a32a33).A = \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix}.

哦?这里有个矩阵,我们刚刚学习了矩阵是一种对 R3\mathbb{R}^3 的变换,那我们不妨把这个方程改写为:

Ax=b,A\mathbf{x} = \mathbf{b},

也就是:

(a11a12a13a21a22a23a31a32a33)(x1x2x3)=(b1b2b3).\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}.

啊,原来求解三个未知数就是求解这个向量 x\mathbf{x} 啊,也就是说,我们在空间中找一个向量,而它经过系数矩阵的变换后是 b\mathbf{b}!那这该怎么找呢?我们大可以用书上的方法,化为阶梯型什么的,在这里不做赘述。那有没有什么别的办法呢?Emm……既然系数矩阵在把空间捏变形的同时捎带手让 x\mathbf{x} 恰好落在了 b\mathbf{b} 的位置上,我们能不能把空间捏回去,这样 b\mathbf{b} 就能落在要找的 x\mathbf{x} 的位置上了吗?捏回去,好主意,怎么捏呢?其实就是求这个变换的逆过程,也就是求 A1A^{-1},我们把它称作矩阵的逆。关于如何求逆,不是本节的讨论内容,你现在只需要知道,它可以把空间复原,即:

A1A=I.A^{-1}A = I.

而我们要做的就是在等式两边同时左乘系数矩阵的逆,而我们知道了乘单位矩阵不改变任何东西,便得到了:

x=A1b.\mathbf{x} = A^{-1}\mathbf{b}.

好啊好啊,这么快就做出来了!但这个能把空间复原的魔法真的永远存在吗?我们来考虑下面这个矩阵:

A=(100010000).A = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix}.

通过前面的学习,我们可以想象,它把整个三维空间压成了一个只有 x1x2x_1x_2 平面的大饼。再考虑下面两个向量与它的乘积:

A(123)=(120),A(124)=(120).A\begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix}, \qquad A\begin{pmatrix} 1 \\ 2 \\ 4 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix}.

现在是真的不难发现,无论原来的向量的 x3x_3 方向上有怎样的属性,被这个矩阵作用后都消失了,转而变为了 00。对同一个作用结果 (120)\begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix},可有无穷个 x\mathbf{x}AA 作用得到。这种维度上的丢失则说明了这个矩阵是不可逆的,就像一块橡皮泥,无论你把它捏成什么形状,我都有办法复原,然而一旦你把它坐扁,我就捏不回去了。

再看看上述式子的右边,居然是个 0\mathbf{0} 向量!它似乎具有一些奇特的性质,我们把它称作齐次线性方程组,若其形如:

Ax=0,A\mathbf{x} = \mathbf{0},

也就是:

(a11a12a13a21a22a23a31a32a33)(x1x2x3)=(000).\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix}.

什么意思呢?我们要找一个向量,它经过这个变换后居然是个 0\mathbf{0} 向量!如果 x0\mathbf{x} \neq \mathbf{0} 的话,真的有别的解吗?除非……除非像刚才一样压扁了空间!所以我们可以很自然地得出下面的结论:对于齐次线性方程组,要么仅有 0\mathbf{0} 向量作为它的解,要么有无穷多解!不可能存在唯一的非零解。

好了,让我们再看看非齐次线性方程组解的情况。看起来只要系数矩阵没有被降维,那么它就一定有唯一解,也就是系数矩阵满秩的情况(至于秩是什么,这里也先不做论述,满秩可以暂且理解为没被降维)。那让我们再看看不满秩的情况,不如就以上面这个为例,先考虑:

(100010000)(x1x2x3)=(120).\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix}.

如果按照课本上的解法,你会发现它有无穷多解,x3x_3 是一个自由变量。从几何角度看,所有终点在 (1,2,x3)(1, 2, x_3) 这条平行于 x3x_3 轴的直线上的向量都会被这个矩阵压成 (120)\begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix} 这个向量,也可以说明原方程有无穷多解。

现在再考虑:

(100010000)(x1x2x3)=(123).\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}.

啊?空间不是被压到 x1x2x_1x_2 平面上了吗,怎么还会有 x3x_3 方向的分量?看起来所有的 x\mathbf{x} 都不能满足这一条件,那它就是无解的。

综上所述,对于不满秩的系数矩阵,要么有无穷多解,要么无解。

然而,在一些题目中我们也许会碰到系数矩阵非方阵的情况,又该怎么办呢?我们可以把它补全!先看这个:

(100100)(x1x2)=(b1b2b3).\begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}.

它可以被补为:

(100010000)(x1x2x3)=(b1b2b3).\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}.

这个矩阵同样是把三维空间压缩到了 x1x2x_1x_2 平面上。

现在我们再看一种比较奇特的:

(100111)(x1x2)=(b1b2b3).\begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 1 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}.

你发现这个矩阵居然可以把一个二维的向量变成三维的!同样的可以把它补为:

(100010110)(x1x2x3)=(b1b2b3).\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix}.

啊,你可以发现,它是三维空间里的一个二维平面!法向量是一个同时垂直于 (1,0,1)T(1, 0, 1)^T(0,1,1)T(0, 1, 1)^T 的向量。请注意,x3x_3 在这里可以任取,但若是判断原方程解的情况,不应该把 x3x_3 看作未知数。

如果你认真听课了,可能会在这里反驳我:老师说解两个未知数只需要两个方程,你这里写三个能行吗?没错,所以如果要让上面的这个方程有解,b\mathbf{b} 的选择非常严格。在最后一行系数确定的情况下,只有一个 b\mathbf{b} 可以使方程有解,此时最后一个方程一定可以由前两个方程线性表出,也就是前两个方程各乘某个系数再相加,就可以得到第三个方程。换句话说,最后一个方程不提供任何额外的有效信息,实际上你还是在解由前两个方程构成的方程组,而这与老师的说法并没有冲突。

你可能在书上看到这样一句话:线性方程组有解,当且仅当系数矩阵与增广矩阵有相同的秩。由于只有两列,所以秩不可能超过 22。为使它有解,对应的增广矩阵的秩也得是 22,所以其中两行一定可以线性表出剩下一行!

恭喜你,已经对线性方程组的解有一些建树了,下面有一些判断题考考你。设 AAm×nm \times n 矩阵,且 b\mathbf{b}mm 维列向量:

  1. Ax=bA\mathbf{x} = \mathbf{b} 有解,则 Ax=0A\mathbf{x} = \mathbf{0} 有唯一解;
  2. Ax=bA\mathbf{x} = \mathbf{b} 存在两个不同的解,则 Ax=bA\mathbf{x} = \mathbf{b} 有无穷多解;
  3. 若矩阵 AA 的秩为 mm,则 Ax=bA\mathbf{x} = \mathbf{b} 一定有解;
  4. 若矩阵 AA 的秩为 mm,则齐次线性方程组 ATx=0A^T\mathbf{x} = \mathbf{0} 仅有零解。

本文作者: zczzzzz

本文链接: https://www.genkaim.top/posts/3ca8bcae

本文作者: Genkaim

本文链接: https://www.genkaim.top/posts/3ca8bcae

打赏博主😘

二维码1
爱发电
Bilibili
🍭$MIRA
...