线性方程组的两个几何视角
我们可以从几何的角度理解方程组⎩⎨⎧x+y+zx−y+2z2x−3y+4z=6=5=8:其中,x+y+z=6,x−y+2z=5,2x−3y+4z=8分别表示三维笛卡尔坐标系中的一个平面。那么方程组的解恰好就是这三个平面的交集。如果三个平面的交集是唯一的一个点,方程组就有唯一解;如果三个平面没有交集(比如它们互相平行)或交集是一条直线或整个平面,那么方程组有无穷多个解。
把方程组⎩⎨⎧x+y+zx−y+2z2x−3y+4z=6=5=8写成矩阵乘法的形式形式1121−1−3124xyz=658以后,我们发现这还提供了另一个几何的视角。我们发现,1121−1−3124xyz总是可以看作112x+1−1−3y+124z,这样的话方程组就可以看作112x+1−1−3y+124z=658。这里,一个单列的矩阵可以看作一个向量(vector)。一个三维向量是一个三维空间中的坐标点,也可以看作从原点出发指向这个坐标的一个箭头。这个方程组描述的是,是否可以通过伸缩这三个向量112,1−1−3,124使得它们相加以后恰好落在658。
有意思的是,当我们用“平面相交”的方式来理解时,我们是以矩阵的“行”为单位来理解的;当我们用“向量的组合”来理解时,我们是以矩阵的“列”为单位来理解的。这暗示我们,在描述线性方程组时,矩阵的“行”和“列”是具有内在联系的。
线性空间(Linear Space)
我们尤其关注第二种几何理解方式。在这里我们关心的是n维空间中向量的伸缩与组合。其中,“伸缩”对应的是用一个实数乘以向量,“组合”对应的是向量之间的加法。向量本质上是我们之前定义过的矩阵,因此其数乘和加法已经是定义好的。从这个角度看,向量就是实数的n元组,所以n维向量所处其中的基本代数结构就是Rn。这样的定义是依赖于“坐标”的。下面我们提供一个更抽象的角度来看向量,在这里我们可以抛开“坐标”而讨论向量具有的性质。定义如下:
如果一个“向量的集合”对加法和数乘封闭,并且满足以下八条性质,就称为一个向量空间(vector space)。向量空间也称为线性空间(linear space)。
- 加法交换律:u+v=v+u
- 加法结合律:u+(v+w)=(u+v)+w
- 加法单位元:∀v,存在n使得n+v=v,这个向量记作0
- 加法逆元:∀v,存在的u使得u+v=0,这个向量记作−v
- 数乘单位元:∀v,(1)v=v
- 数乘结合律:c1(c2v)=(c1c2)v
- 数乘在向量和上的分配律:c(u+v)=cu+cv
- 数的和乘在向量上的分配律:(c1+c2)v=c1v+c2v
容易验证,任何一个Rn都是一个线性空间。特殊地当n=0时,我们有R0={0},这也是一个线性空间,记为Z。一般我们讨论的线性空间指的就是Rn。而依据上面的抽象的线性空间定义,一个包含所有m×n矩阵的“矩阵空间”也是一个线性空间;一个包含所有实数数列(正整数到实数的映射)的“数列空间”也是一个线性空间;将加法定义为实数乘法,将数乘c定义为实数的c次方的“实数空间”也是一个线性空间……
由这八条公理可以推导出线性空间的许多性质:
零向量是唯一的。如果不唯一,那么存在m,n使得n=m,并且满足n+m=m,m+n=n。根据加法交换律,n+m=m+n,代入得m=n,矛盾。
加法逆元是唯一的。如果不唯一,那么存在m,n使得n=m,并且满足n+v=0,m+v=0。对于0+m=m,将0用n+v代换,得到n+v+m=m。根据加法结合律与交换律,将v+m用0代换,得n+0=m。而n+0=n,所以得到m=n,矛盾。
等式满足消去律:如果有u+v=u+w,那么有v=v+0=v+(u+(−u)) =(v+u)+(−u)=(w+u)+(−u)=w。这是一个非常重要的定理,这告诉我们向量等式是可以移项的。
我们不再一一列出线性空间中向量的运算性质,只需要记住一般的代数运算对于向量而言都是成立的。对于这样的问题,我们把理解建立在实数运算上,特别注意它与实数的不同点就好了。
子空间(Subspace)
如果一个线性空间W中的元素全都包含在线性空间V中,就说W是V的子空间。例如三维空间中的一个平面是子空间,两个相交平面就不是子空间了。
由于数乘时c可以取0,所以一个线性空间的每个子空间都必须包含原空间中的零向量。而子空间中的零向量是唯一的,所以原空间中的零向量一定就是子空间中的零向量。
当我们需要证明W是V的子空间时,只需证明W⊆V以及W是线性空间。而当证明W是线性空间时,不必验证全部八条性质,因为结合律、交换律、分配律等等都可以继承V的性质。我们只需验证W中向量关于加法和数乘封闭,以及加法单位元、加法逆元存在即可。
张成(Span)
对于线性空间V内部的任意一个向量集合S(不一定是子空间),设S={vα},那么任何一个向量w如果能写作w=α∑cαvα,cα∈R,就称w是S的一个线性组合(linear combination)。
集合S的所有线性组合组成的集合称为S的张成(span),记为span(S)。下面我们证明,span(S)一定是V的子空间:span(S)中向量关于加法和数乘封闭(线性组合的性质);零向量存在;加法逆元存在。因此span(S)是V的一个子空间。同时,这一定是包含S的最小的子空间,因为对于任意的子空间W如果有S⊆W,那么W有S里的所有元素,并且W必须有所有这些元素的线性组合,自然就有span(S)⊆W。
线性独立(Linear Indepency)
对于有限个向量v1,⋯,vk,如果c1v1+⋯+ckvk=0当且仅当ci=0恒成立,就称这些向量线性独立(linearly independent)(或线性无关)。这等价于,其中的任何一个向量都不能被其他的k−1个向量线性组合表示(左推右:如果存在一个这样的线性表示,那么移项就会得到一个系数不是全零却和为零的等式;右推左,如果存在一个ci=0时c1v1+⋯+ckvk=0成立,那么就能得到一个vi用其余向量表示的表达式)。
如果v1,⋯,vk中含有零向量,那么它们不可能线性独立(因为这个零向量的系数可以任取)。
如果k=1,也即如果只有一个非零向量,那么它线性独立。
基(Basis)
如果v1,⋯,vk线性独立,并且span(v1,⋯,vk)=V,就称{v1,⋯,vk}是V的一组线性基(linear basis)(简称基)。
给定一个线性空间V以及V中的一组基{v1,⋯,vk},那么对于任意的w∈V,w一定能被写成基的线性组合(依据是张成的定义)。下面我们证明这种表示必然是唯一的,也即如果w=c1v1+⋯+ckvk=d1v1+⋯+dkvk,那么一定成立∀i∈[k],ci=di。如果不是这样,那么存在j1,⋯,jt∈[k]使得cji=dji。两式相减,得到0=(cj1−dj1)vj1+⋯+(cjt−djt)vjt,这与v1,⋯,vk线性独立矛盾。
假设线性空间V有一组基e1,⋯,en(这里e不特别表示单位向量)。我们任意从V中选出m个(0≤m≤n)线性独立的向量v1,⋯,vm,则一定可以把基中特定的某m个ei替换成这m个vi,使得v1,⋯,vm,ei1,⋯,ein−m构成V的一组基。这是一个非平凡的结论,称为Steinitz Exchange Lemma。我们对m归纳来证明。当m=1时,由于v1可以被{ei}线性表示且不为零向量,因此一定能找到一个k使得ek能被剩下的n−1个ei和v1线性表示,这意味着替换后张成的空间相同。再验证线性独立性,替换后的基线性组合为0时v1的系数必须为0(如果不为0,那么v1可以被n−1个ei线性表示,由于线性表示的唯一性,这意味着v1在用完整的n个ei表示时ek的系数应当为0,这就发生了矛盾)。而要用剩下的n−1个ei组合出0,根据线性独立的定义所有ei的系数都必须为0。这就证明了n−1个ei与v1构成的替换后的基是线性独立的,归纳法的第一步成立。下面假设已经替换好了k−1个,有归纳假设v1,⋯,vk−1,ei1,⋯,ein−k+1构成V的一组基。用归纳假设中的基表示vk,由于vi之间是线性独立的,因此一定存在一个ep的系数不为0,用与第一步中类似的方法可以验证替换完之后张成的空间相同,并且线性独立性依然成立。综上,归纳法成立,证毕。
维数(Dimension)
由Steinitz Exchange Lemma可知,假设线性空间V有一组n个基向量e1,⋯,en构成的基,则任何一组基都必须恰好由n个基向量构成。因为假如m个(m<n)基向量v1,⋯,vm也能构成V的基,则span(v1,⋯,vm)= span(v1,⋯,vm,ei1,⋯,ein−m),这意味着ei1可以由v1,⋯,vm线性组合得到,而这与v1,⋯,vm,ei1,⋯,ein−m线性独立矛盾。假如m个(m>n)基向量v1,⋯,vm个构成V的基,那么选其中的前n个也能构成一组基,这意味着vm可以用v1,⋯,vm线性表示,这与基向量线性独立矛盾。
综上所述,假设一个线性空间V有一组有限大小的基,那么其任何一组基的大小都相同。换言之,对于这样的线性空间,基向量的个数是一个基本属性,称为这个线性空间的维数(dimension),记作dim(V)。在目前为止的讨论中,我们都只对于有限大小的基做讨论。存在有限大小的基的线性空间称为“有限维线性空间”。注意,并不是任何一个线性空间都是“有限维”的。
假定我们知道一个线性空间有一组有限大小的基,也即如果我们已知这个线性空间是有限维的,我们原则上一定可以构造出一组基。只需这样做:假定我们有一个集合,刚开始我们任取某一个向量放进集合。如果当前集合内的向量还不足以张成整个线性空间,就从张成的空间以外再选一个向量。集合内的向量一定是线性独立的(否则新选入的向量就不会落在张成外了)。由于这个空间是“有限维”的,这样的操作一定会在某一时刻停下——等到集合内的向量个数到达“维数”时,这个集合就构成了一组基。
如果W是V的子空间,那么可以证明dim(W)≤dim(V)。由于W中所有向量都是V中的向量,我们还是依照上面的方法不断选W中的向量构造W的一组基。由于这组基的张成一定包含在V以内,所以它要么已经张成了V,要么还存在向量在V中但不在W中。前者说明dim(W)=dim(V),后者说明如果要构造V的基我们还要继续添加向量,所以dim(W)<dim(V)。
极大线性无关组(Maximal Linearly Independent Group)
给定有限个向量组成的集合S,如果它的一个子集中所有的向量线性独立,就称这个子集是S的一个线性无关组。如果S={0},那么不存在线性无关组(或者说线性无关组只有空集)。否则,我们至少能挑出一个向量构成的线性无关组,因为一个向量一定线性独立。
在所有的线性无关组中,包含向量数量最多的那个称为“极大线性无关组”。由于向量总数是有限的,所有这个极大组总是存在的。容易发现,极大线性无关组的大小就是S张成的线性空间的维数。我们再次利用基的构造方法:首先,我们有单个向量构成的集合;我们不断挑出没被包含在这个集合张成空间里的向量,最后集合内的向量张成了span(S)。如果存在比它更多的向量构成的“线性无关组”,就意味着这个线性空间有超过“维数”个线性独立的向量,这是不可能的。
矩阵的列空间(Column Space)
现在我们再看线性方程组的第二个几何视角。判断线性方程组Ax=b是否有解,等价于:向量b是否能由矩阵A的每一列构成的向量集合张成。我们把A的每一列的向量称为A的列向量,把A的列向量张成的线性空间称为A的列空间,记为C(A),那么Ax=b是否有解等价于,是否成立b∈C(A)?
对于An×n,如果C(A)的维数是n,就意味着列空间是整个Rn,因此任何向量b都落在C(A)当中,因此Ax=b对任何b都有解。并且由于A总共只有n个列向量张成列空间,这意味着这n个列向量线性独立,它们构成Rn的一组基。根据基的表示的唯一性,任何一个b只有一种特定的列向量的线性组合方式,也即Ax=b有唯一解。所以我们得到,dim(C(An×n))=n⟹Ax=b有唯一解。