这是大一学线性代数时写的学习和思考笔记,由于当时是手写的,结课之后笔记就一直躺在我书架上了orz。最近突然有空就想着整理出来发在知乎上。
本文有很多内容要感谢油管大神@3blue1brown的启发,还要感谢 @awesome-xu 同学帮忙整理。
才疏学浅,由于能力不够,边学边写,大概会有蛮多错误Orz,劳请各位大佬指正。
向量与向量组
向量(vector)用以表示有向线段,写作以按顺序记录的终点坐标数值,因为一般情况下我们表示的向量起点都是原点。除了几何上的应用外,向量还可以表示数组,即多个数值的集合。
为了表示方便,以下我们以二维向量为例;实际上更高维的向量也是同理的。
对于如上图中向量
,我们以列的形式记作:
\left( \frac{1}{2} \right)
。
向量运算与线性组合
即把一个向量缩放至原来的n倍,具体在每个坐标上的表现是将每个坐标乘以原来的n倍。
如上图所示,对于向量
我们将之缩放n倍后,可以得到
;并且满足:
n\begin{pmatrix} a \\ b \\ \end{pmatrix} = \begin{pmatrix} \text{na} \\ \text{nb} \\ \end{pmatrix}\\
经过数乘计算,向量仍然在原直线上。
向量加法用以将两个向量的效果进行叠加。
如图示,对于向量加法
\overrightarrow{u} + \overrightarrow{v}
,将
的起点从原点链接至
的终点B(也只有这种情况下你才需要把向量的起点从原点移开),得到最终的终点C。连接AC即得结果
。在计算上,体现为将两个向量对应分量的数值相加:
\begin{pmatrix} a_{0} \\ b_{0} \\ \end{pmatrix} + \begin{pmatrix} a_{1} \\ b_{1} \\ \end{pmatrix} = \begin{pmatrix} a_{0} + a_{1} \\ b_{0} + b_{1} \\ \end{pmatrix}\\
向量减法可理解为加上一个负向量。
上述向量计算均在线性运算范围内。将这些运算统一起来,我们可以写出表示线性组合(linear combination)的式子:
\mu\overrightarrow{v} + \lambda\overrightarrow{w} = \overrightarrow{u} \\
多个向量的集合我们称之为向量组,以列的形式记作
\begin{pmatrix} x_{1} & x_{2} & \ldots & x_{n} \\ y_{1} & y_{1} & \ldots & y_{n} \\ \ldots & \ldots & \ldots & \ldots \\ w_{1} & w_{2} & \ldots & w_{n} \\ \end{pmatrix}
,用给定向量组内向量通过线性组合得到的向量的集合称之为给定向量组张成的空间(Space)。
在上图中我们可以发现一个有趣的现象,如果我们固定住μ的大小,令λ变化,则我们得到的向量的终点始终在一条直线上,在图上就是直线BD。这样看起来这种组合被冠以"线性"修饰确实有几分道理。
如上图,当我们同时令μ和λ变化,我们便可以获得相当多的直线,而且这些直线所构成的集合可以填满一个平面空间。图示中我们只引入了两个二维向量
\overrightarrow{u},\overrightarrow{v}
,因此我们至多只能张成一个二维平面空间。
用若干个向量
\overrightarrow{a_{0}},\overrightarrow{a_{1}}\ldots\overrightarrow{a_{n}}
通过线性组合得到新的空间S,我们称:向量
\overrightarrow{a_{0}},\overrightarrow{a_{1}}\ldots\overrightarrow{a_{n}}
张成(span)了空间S。
如上图,当我们使用除了x、y其余分量都为0的向量进行线性组合时,我们只能张成XOY平面。同理,当我们使用除了x、z其余分量都为0的向量进行线性组合时,我们也只能张成XOZ平面。在这些情况下,由于向量本身就缺少对某个分量的描述能力,因此再进行多少次线性组合也无济于事。因此,n个n维向量最多能张成n维空间。
此外,若我们尝试使用2个三维向量进行线性组合,如上图,会发现我们依然只能得到一个平面。或者说,一个插在三维空间里的二维面。我们暂且称这个面为α。
但如果我们选择一个不在α平面内的向量
,得到
\mu\overrightarrow{v} + \lambda\overrightarrow{w} + \rho\overrightarrow{x} = \overrightarrow{u}
;我们便可以通过这个线性组合张成一个真正的三维空间。其实这并不是很难想象,与之前我们所述的二维向量线性组合类似,这里不过是把原来
\mu\overrightarrow{v} + \lambda\overrightarrow{w} = \overrightarrow{u}
得到的平面空间顺着
所得直线进行平移,得到了一个三维空间。如下图。
这告诉我们,n个向量最多能张成n维空间。
在之前的举例中,我们忽视了一种情况。譬如,如果我们在二维空间中选择了向量
\overrightarrow{u},\overrightarrow{v}
,但不巧的是他们正好在一条直线上:
于是在
\mu\overrightarrow{v} + \lambda\overrightarrow{u} = \overrightarrow{w}
中,我们发现无论如何改变μ和
也无法让
表示这条直线以外的任何向量。因为我们可以用
来表示
,因此原式可以写作
\mu\overrightarrow{v} + \lambda k\overrightarrow{v} = \overrightarrow{w}
,即
(\mu + \lambda k)\overrightarrow{v} = \overrightarrow{w}
,这样
当然与
共线。
在前文关于三维的举例中,我强调
不在
\text{\ μ}\overrightarrow{v} + \lambda\overrightarrow{w}
构建的平面上,道理也是类似的。如果
也在
\mu\overrightarrow{v} + \lambda\overrightarrow{w}
构建平面上,就意味着在
\mu\overrightarrow{v} + \lambda\overrightarrow{w}
构成的向量的集合中一定有
,那么让平面随着
构成的直线移动也依然是在原来的平面上,而不可能成为一个三维体。
我们把这种可以用给定的多个向量线性组合得到目标向量的情况称为线性表示(linear representation)。在几何上体现为目标向量恰好位于给定的多个向量张成的空间内。在计算上有:
k_{1}\overrightarrow{a_{1}} + k_{2}\overrightarrow{a_{2}} + \ldots + k_{n}\overrightarrow{a_{n}} = \overrightarrow{w} \\
如果在一个向量组中,存在至少一个向量位于其它向量张成的空间内,那么我们称这个向量组是线性相关(linearly correlation)的,否则为线性无关(linearly independent)。在计算上有:
k_{1}\overrightarrow{a_{1}} + k_{2}\overrightarrow{a_{2}} + \ldots + k_{n}\overrightarrow{a_{n}} = \overrightarrow{a_{i}} \\
一个显然的事实是:线性无关向量组能构成的空间的维度就是它所拥有的的向量数。因为在线性无关组中,每个成员向量都不在其他向量张成的空间内,这意味着每个成员向量都能增加其所在向量组张成空间的维度。而在线性无关向量组中,存在某个向量属于其他向量张成的空间内,这意味着它的存在无法增加向量组张成空间的维度。所以,若一个拥有n个向量的向量组中含有a个向量可由其余(n-a)个向量线性表示,那么这个向量组张成的空间只有(n-a)维。这(n-a)个向量构成的向量组称之为最大线性无关组(maximal linearly independent group)。
因为最大线性无关组张成的空间可以囊括向量组中所有的向量,因此只要满足这个条件的向量组都可以称为最大线性无关组,即最大线性无关组不唯一。
如上图,由于向量组
\left( \overrightarrow{u},\overrightarrow{v},\overrightarrow{w} \right)
中三个向量任取其二都可以张成XOY空间,进而囊括向量组中所有向量,因此
\left( \overrightarrow{u},\overrightarrow{v} \right)
、
\left( \overrightarrow{v},\overrightarrow{w} \right)
、
\left( \overrightarrow{u},\overrightarrow{w} \right)
都是这个向量组的最大线性无关组。
一个向量组的最大无关组所含有的向量个数称作向量组的秩(rank),可以理解为:向量组的秩就是这个向量组所能张成的空间的维数。向量组A的秩记作R(A)。如果两个向量组张成的空间是同一个空间,那么称这两个向量组是等价向量组(equivalent vectors)。值得注意的是,两个向量组的秩相同不代表两个向量组等价。
如上图,对三个向量组:
\begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 0 & 0 \\ \end{pmatrix}
、
\begin{pmatrix} 1 & 0 \\ 0 & 0 \\ 0 & 1 \\ \end{pmatrix}
、
\begin{pmatrix} 0 & 0 \\ 0 & 1 \\ 1 & 0 \\ \end{pmatrix}
;它们的秩都是2,但张成的空间分别是完全不同的XOY、XOZ、YOZ平面,因此他们并不等价。
另外的,如果空间A包含了空间B的所有向量,那我们称B为A的线性子空间(linear subspace ),简称子空间。如XOY平面就是XYZ空间的子空间。
一些有趣的性质
对于课本上已经给出的一些关于向量组的性质,我在这里想给出基于几何上的证明。虽然这样会不太严谨。
【1】向量b能由向量组A线性表示的充要条件是向量组A
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\ldots,}\mathbf{\alpha}_{\mathbf{n}} \right)
的秩等于向量组B
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\ldots,}\mathbf{\alpha}_{\mathbf{n}}\mathbf{,}\mathbf{b} \right)
的秩。
向量组B相当于向量组A增加了一个向量b。
充分性:
R(A)=R(B)说明A与B张成的空间维数一致。向量b的出现并没有增加向量组的维数,可知b仍然在A张成的空间之内。因此b可以由A线性表示。
必要性:
b能由A线性表示,说明向量b属于A表示的空间内,因此b的加入不增加向量组的维数,即R(A)=R(B)。
由此还可以推出:若有向量组A
\left( \alpha_{1},\alpha_{2},\ldots,\alpha_{n} \right)
线性无关,而向量组B
\left( \alpha_{1},\alpha_{2},\ldots,\alpha_{n},\beta \right)
线性相关,则向量β一定能由A线性表示且表示法唯一。
【2】含有零向量的向量组必然线性相关
零向量就在原点,它是所有空间的子空间。
【3】设向量组A
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\alpha}_{\mathbf{m}} \right)
,则A线性相关的充要条件是R(A)小于向量个数m。而向量组A线性无关的充要条件是R(A)=m。
充分性:
R(A)<m说明至少存在一个向量
并未提升向量组A张成空间的维数,即向量组A线性相关。若R(A)=m则说明每个向量都提升了向量组A张成空间的维数,即向量组A线性无关。
必要性:
如果向量组A线性相关,说明存在至少一个向量
在其他向量张成的空间内,即
未提升向量组A的维度,所以R(A)<m。如果向量组A线性无关,说明每个向量都提升了向量组的维数,即得R(A)=m。
【4】m个n维向量组成的向量组,n<m时一定线性相关。
取该向量组中前n个向量,假设它们全部线性无关,则至多张成n维空间。由于任何一个n维向量属于n维空间,此时再向原线性无关向量组中增加任意n维向量,新增的都始终在原n维空间中,无法扩展张成空间的维度。即新向量组一定线性相关。
由此还可得:任意一个n维向量组中,线性无关的向量最多有n个。
【5】若m个n维向量
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\ldots,}\mathbf{\alpha}_{\mathbf{m}} \right)
线性相关,则同时去掉这些向量的第i个分量(1≤i≤n),则得到的m个n-1维向量
\left( {\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{1}}\mathbf{,}{\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{2}}\mathbf{,\ldots,}{\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{m}} \right)
也线性相关。
设
\alpha_{1} = \begin{pmatrix} a_{11} \\ a_{12} \\ \ldots \\ a_{1n} \\ \end{pmatrix}
,
\alpha_{2} = \begin{pmatrix} a_{21} \\ a_{22} \\ \ldots \\ a_{2n} \\ \end{pmatrix}
,...,
\alpha_{m} = \begin{pmatrix} a_{m1} \\ a_{m2} \\ \ldots \\ a_{mn} \\ \end{pmatrix}
,因为存在
\alpha_{j} = \begin{pmatrix} a_{j1} \\ a_{j2} \\ \ldots \\ a_{jn} \\ \end{pmatrix}(1 \leq j \leq m)
可以由其余向量线性表示,即有:
\begin{pmatrix} k_{1}a_{11} + k_{2}a_{21} + \ldots + k_{m}a_{m1} = a_{j1} \\ k_{1}a_{12} + k_{2}a_{22} + \ldots + k_{m}a_{m2} = a_{j2} \\ \ldots \\ \ldots \\ \ldots \\ k_{1}a_{1n} + k_{2}a_{2n} + \ldots + k_{m}a_{\text{mn}} = a_{\text{jn}} \\ \end{pmatrix} = \alpha_{j}
成立。在左侧等式组中删去任意一个都不影响其余等式成立。
如果用几何的方式理解,以三维空间为例,可以想象为将三个向量去掉某个分量压缩至同一平面。如下图中墨绿色向量,在原来的三维空间中它属于红色蓝色向量张成的空间,而将向量全部压缩至浅绿色平面后,它依旧属于红色蓝色向量张成的空间。
【6】若m个n-1维向量
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\ldots,}\mathbf{\alpha}_{\mathbf{m}} \right)
线性无关,则同时增加第i个分量,则得到的m个n维向量
\left( {\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{1}}\mathbf{,}{\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{2}}\mathbf{,\ldots,}{\mathbf{\alpha}^{\mathbf{'}}}_{\mathbf{m}} \right)
也线性无关。
与性质(5)类似。
【7】设向量组A
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\alpha}_{\mathbf{m}} \right)
与向量组B
\left( \mathbf{\beta}_{\mathbf{1}}\mathbf{,}\mathbf{\beta}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\beta}_{\mathbf{s}} \right)
。则B能由A线性表示的充要条件为:R(A)=R(A,B)。
充分性:R(A)=R(A,B)说明B张成的空间维数不超过A张成空间的维数,即B张成空间是A张成空间的子空间。所以B能由A线性表示。
必要性:B能由A线性表示,说明B中所有向量都属于A张成空间的子空间,因此对于新组建的向量组(A,B),B中向量不会增加张成空间的维数。因此会有R(A)=R(A,B)。
【8】设向量组A
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\alpha}_{\mathbf{s}} \right)
与向量组B
\left( \mathbf{\beta}_{\mathbf{1}}\mathbf{,}\mathbf{\beta}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\beta}_{\mathbf{r}} \right)
。若B线性无关,且B能由A线性表示,则r≤s;
向量组B线性无关,说明B可以张成一个r维空间。又因为B可以由A线性表示,说明B张成空间是A张成空间的子空间,即A张成空间的维数要大于等于B张成空间的维数。由1-2-3-1中知识,A中的向量数一定大于等于其张成空间的维数。因此r≤s。
【9】设向量组A
\left( \mathbf{\alpha}_{\mathbf{1}}\mathbf{,}\mathbf{\alpha}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\alpha}_{\mathbf{s}} \right)
与向量组B
\left( \mathbf{\beta}_{\mathbf{1}}\mathbf{,}\mathbf{\beta}_{\mathbf{2}}\mathbf{,\cdots,}\mathbf{\beta}_{\mathbf{r}} \right)
。若B可由A线性表示,且r>s,则B线性相关。
若B可由A线性表示,说明B张成空间是A张成空间的子空间。因为A张成空间最大维数是s维,即B张成空间维数小于等于s。又r>s,可知B中至少存在一个向量没有提升其张成空间的维度,即B线性相关。
基向量
在了解了线性相关与线性无关的概念之后,让我们回到一个刚开始的问题:我们是如何表示一个向量的?
由之前的知识我们会想到,以笛卡尔坐标系为例,以沿着x、y、z三个轴的单位向量为基底来表述一个向量的终点位置。
如图 ,向量
在x轴上前进了"a"个单位,在y轴上前进了"b"个单位,所以我们用
来表示向量
。
但是,什么是"前进"?这听起来不太明确。为了更好地描述这种关系,我们在x轴与y轴上取两个单位向量
\widehat{i}(1,0),\widehat{j}(0,1)
,这样我们可以描述成:
\overrightarrow{u} = a\widehat{i} + b\widehat{j}
。也就是说,在向量组
s\left( \widehat{i},\widehat{j} \right)
张成的空间中,我们把
记作
。
我们把空间展开成网格来更进一步:
如图,我们建立了两种平行线。一种是与
平行的横线,一种是与
平行的竖线。我们从向量
的结尾开始,做
平行的横线,与
所在直线交于B,而且我们还发现从原点到B的长度正好是b倍的
。同理我们做
平行的竖线,与
所在直线交于A,而且从原点到A的长度正好是a倍的
。因为我们可以确保每条轴有且只有一个交点。所以我们得到的A、B两点是唯一的,因此,我们得到的表示法
也是唯一的。
如果我们使用不那么"规整"的向量构成的向量组,结果也会是相似的吗?
先从线性无关向量组张成的空间开始。我们用相似的方法做两条平行线,取交点。如图,我们可以得出
\overrightarrow{u} = \mu\overrightarrow{a} + \lambda\overrightarrow{b}
,即在向量组
张成的空间内,
的表示法是
。
但如果我们选择了一个线性相关的向量组,情况就不太一样了。
a、b、c三向量同平面
如图 1‑16,我们用线性相关的向量组
表示向量
。在我们做完平行线后,居然得到了6个不同的交点,每条向量所在直线都有两个交点,这让我们根本无法得到唯一的表示方法。这还不是最糟糕的情况,由于
\overrightarrow{a},\overrightarrow{b},\overrightarrow{c}
可以组合出零向量,而零向量又可以乘上一个数变回零向量,因此
的表示法其实有无数多种!
假如没有
的存在,实际上我们只要用
\overrightarrow{u} = s\overrightarrow{a} + p\overrightarrow{b}
就能表示出
。但如果考虑
带来的零向量问题,我们可以这样表示
了:
\overrightarrow{\mathbf{u}}\mathbf{= n}\left( \mathbf{\mu}\overrightarrow{\mathbf{a}}\mathbf{+ \lambda}\overrightarrow{\mathbf{b}}\mathbf{+ \gamma}\overrightarrow{\mathbf{c}} \right)\mathbf{+ s}\overrightarrow{\mathbf{a}}\mathbf{+ p}\overrightarrow{\mathbf{b}} \\
(其中
\mu\overrightarrow{a} + \lambda\overrightarrow{b} + \gamma\overrightarrow{c} = 0
)
如果还要考虑到不用
\overrightarrow{a},\overrightarrow{b}
,而用
\overrightarrow{a},\overrightarrow{c}
或
\overrightarrow{b},\overrightarrow{c}
表示
的实际位置,结果会更加多。上面这个式子值得你留意一下,因为你以后还会见到。
线性无关组的地位我们应该已经意识到了。只有在线性无关组张成的空间内,我们才能清晰且方便地表达出其他向量。我们可以称这个线性无关组里的向量为基向量(base vector)。了解清楚基向量非常重要,如果想理解清楚矩阵你还会再次用到它。