步线性代数十一—— 四个基本子空间

(转)步线性代数十一—— 四个基本子空间

2016年08月27日 15:59:20 会敲键盘的猩猩 阅读数:3641 标签: 基本子空间  更多

个人分类: 漫步线性代数

上篇文章处理了定义而不是,我们知道基是什么,但不知道如何找到他们。现在,从一个明确描述的子空间开始,我们开始计算显式的基。

子空间能用两种方式描述。第一,我们可以给出一个生成空间的向量集合。(例如:列生成列空间)第二,我们可以给出空间中的向量必须满足什么条件。(例如:零空间包含满足Ax=0 的所有向量)

第一个描述可能包含无用的向量(相关列),第二个描述可能包含重复的条件(相关行),我们无法通过观察写出一个基,那么就需要一个系统的过程。

读者能够猜出来那个过程发生了什么,当在A上执行消元得到阶梯矩阵U或最简矩阵R时,我们能够找出与A相关子空间的一个基,那么我们不得不看一下满秩的情况:

当秩尽可能大的时候,r=n or r=m or r=m=n,矩阵存在左逆B或右逆C或逆A−1。

接下来我们轮流讨论四个子空间,他们里面有两个是相似的,另两个是新的。

  1. A的列空间用C(A)表示,它的维数是秩r。
  2. A的零空间用N(A)表示,它的维数是n−r。
  3. A的行空间是AT的列空间,即C(AT),它有A的行生成,维数也是r。
  4. A的左零空间是AT的零空间,它包含使ATy=0的所有向量y,写作N(AT),它的维数是_

最后两个子空间来自于AT,如果A是一个m×n 的矩阵,那么我们将看到主空间包含了四个子空间:

零空间N(A)和行空间C(AT)是Rn的子空间,左零空间N(AT)和列空间C(A)是Rm的子空间。

行有n个元素,列有m个元素,对于一个简单的矩阵如 

A=U=R=[100000]

 

列空间是通过第一列的直线,行空间是通过[100]T的直线,它位于R3里,零空间是R3中的一个平面,左零空间是R2里的一条线: 

N(A)包含[010]和[001],N(AT)包含[01]

 

注意所有向量是列向量,甚至行都是转置的,A的行空间是AT的列空间,我们的问题是将U的四个空间和A的四个空间联系起来: 

U=⎡⎣⎢100300330230⎤⎦⎥来自A=⎡⎣⎢12−136−3393274⎤⎦⎥

 

为了新鲜感,我们以一个有趣的顺序介绍这四个子空间。

3.A的行空间,对于像U这样的阶梯矩阵,行很明显,它包含行的所有组合,但是第三行没做什么贡献,前两行是行空间的一个基。同样的规则应用到每个阶梯矩阵U or R,他们有r个主元和r个非零行:非零行是一个基,行空间维数是r。这使得我们很容易处理原始矩阵A。

13、A的行空间和U的行空间有相同的维数r并且基也相同,因为A 的行空间和U(R)行空间一样。

原因是每个初等变换没有改变行空间,U中的行是A中行的组合,因此U的行空间不包含新的东西。同时,因为每步是可逆的,所以也没有丢失;A的行可以从U中恢复。A,U 有不同的行,但是行的组合是相同的:相同的空间!

注意我们开始没有说A的m行生成空间,舍弃掉m−r行得到一个基,根据12,我们可以这么做的,但是决定留哪些行和舍弃哪些行可能会比较困难,所以更容易的做法是取U的非零行。

2.A的零空间,消元在不改变解的情况下简化了线性方程组,Ax=0化简为Ux=0,并且这个过程是可逆的。A的零空间和U,R的零空间是一样的,Ax=0中只要r个解是无关的,选择Ax=0的n−r解可以给出零空间的一个基:

14、零空间N(A)维数是n−r,特解是一个基——每个自由变量给定值1,而其他自由变量设为0,那么Ax=0,Ux=0,Rx=0通过回代得出主元变量。

这就是求Ux=0的准确方法,上面的例子中主元在1,3列,因此自由变量是2,4列的v,y,零空间的基是 

vy==10x1=⎡⎣⎢⎢⎢−3100⎤⎦⎥⎥⎥;vy==01x2=⎡⎣⎢⎢⎢10−10⎤⎦⎥⎥⎥

 

任何组合c1x1+c2x2都会有v,y元素,所以c1x1+c2x2=0的唯一方式是c1=c2=0,所以这些向量是无关的,他们也产生零空间;完整解是vx1+yx2,因此n−r=4−2=2个向量是一个基。

零空间也叫作A的核,它的维数n−r叫做零度。

1.A的列空间,列空间有时叫做值域。这和一般意义上的值域意义是一致的,就是所有可能值f(x)的集合;x在定义域内而f(x)在值域内,对于我们的情况函数是f(x)=Ax,它的定义域包含Rn中的所有x;他的值域是所有可能的向量Ax,也就是列空间。(在一些书中我们叫它R(A))

我们的问题是找出U,A列空间的基,这些空间是不同的,但是他们维数是一样的。

U的第一和第三列是列空间的一个基,他们是含有主元的列,其他列都是这两列的一个组合。更进一步,原始矩阵A 同样如此——虽然他们列不相同。A的主元列是它列空间的一个基,第二列是第一列的三倍和U一样,第四列等于列3-列1,相同的列空间告知了我们这些相关性。

理由是这样的:当Ux=0时Ax=0,两个系统是等价的并有相同的解,U的第四列也是列3-列1,A列的线性相关性和U 列的是互相匹配的,并且有相同的系数。如果A的集合是无关的,那么对应U的列也是无关的,反之亦然。

为了找出列空间C(A)的一个基,我们利用U,r个包含主元的列作为U列空间的一个基,然后我们在A中选择同样的r列:

15、列空间C(A)的维数等于r,也等于行空间的维数:无关行的数目等于无关列的数目。C(A)的一个基由A 的r列组成,他们对应于U中含有主元的列。

行空间和列空间有相同的维数r!这是线性代数中最重要的定理,简单的说为行的秩等于列的秩。对方阵来说:如果方阵的行是线性无关的,那么它的列同样如此(反之亦然)。

下面举一个例子,考虑r=3的情况,阶梯形U明显有三个无关行: 


这里写图片描述 

 

我们说U有三个无关列,最多如此。如果我们能说明主元列——1,4,6列——是线性无关的,他们一定是一个基。假设这些主元列的组合得到零: 

c1⎡⎣⎢⎢⎢d1000⎤⎦⎥⎥⎥+c2⎡⎣⎢⎢⎢∗d200⎤⎦⎥⎥⎥+c1⎡⎣⎢⎢⎢∗∗d30⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢0000⎤⎦⎥⎥⎥

 

从下往上看,c3必须是零,因为d3≠0,那么c2 必须是零,因为d2≠0,最终c1=0。因为当且仅当Ux=0时Ax=0,无论原始矩阵A 是什么,它的1,4,6列是C(A)的一个基。

行空间和列空间在A上执行消元后变得很清楚,现在我们开始第四个基本子空间,因为前三个子空间是C(A),N(A),C(AT),那么第四个空间肯定是N(AT),它是A转置的零空间或者说是A的左零空间,ATy=0意味着yTA=0,向量出现在A的左边。

4.A的左零空间(=AT的零空间),如果A是m×n矩阵,那么AT是n×m矩阵,它的零空间是Rm的一个子空间;向量y有m个元素。当写成yTA=0时,这些元素乘以A的行得到零行: 

yTA=[y1⋯ym][A]=[0⋯0]

 

零空间N(AT)的维数很容易找到,对于任意矩阵,主元变量的数目加上自由变量的数目肯定是总的列数。对于A就是r+(n−r)=n,换句话说,秩加上零度等于n: 

C(A)的维数+N(A)的维数=列数

 

这个法则同样可以用到AT上,它有m列。

16、N(AT)的零空间维数是m−r。

yTA=0的m−r个解隐藏在消元中,A的行组合产生m−r个U的零行,从PA=LU or L−1PA=U开始,矩阵L−1P的最后m−r行一定是左零空间的一个基,因为他们乘以A得到U中的零行。

在我们3×4的例子力,零行是3-2(行2)+5(行1),因此y的元素为5,-2,3,在右边有同样的组合b3−2b2+5b1,这样的话最后的方程是0=0。向量y是左零空间的一个基,维数是m−r=3−2=1,它是L−1P的最后一行,在U中得到零行,ATy=0肯定有解。

目前为止N(AT)讲的比较少,我们在下一篇文章中会讲到它在基尔霍夫定律中的物理意义,那时候详细讲效果会更好点。

现在我们知道四个空间的维数,让我们总结一下

  1. C(A)=A的列空间;维数是r。
  2. N(A)=A的零空间;维数是n−r。
  3. C(AT)=A的行空间;维数是r。
  4. N(AT)=A的左零空间;维数是m−r。

例1:矩阵A=[1326]行列为2m=n=2,秩为1r=1。

  1. 列空间包含所有[13]的倍数,第二列和第一列方向相同不产生新的东西。
  2. 零空间包含[−21] 的所有倍数,这个向量满足Ax=0。
  3. 行空间包含[12]的所有倍数,我把它写成列向量,因为严格来讲它是AT的列空间。
  4. 左零空间包含[−31]的所有倍数,A 行的系数-3和1相加得到零,所以ATy=0。

这个例子中四个空间都是一条直线,这纯属偶然,因为r=1,n−r=1,m−r=1。图1中展示了两对线是垂直的,这个可不是偶然!

如果我将A的最后一个元素改成7,所有的维数都是不同的,行空间和列空间维数是2,零空间和左零空间只有向量x=0,y=0,矩阵是可逆的。 


这里写图片描述 
图1 

 

逆的存在性

我们知道如果A有左逆(BA=I)和右逆(AC=I),那么这两个逆相等:B=B(AC)=(BA)C=C。现在我们从矩阵的秩开始探讨什么矩阵存在逆,简单地说就是只有当矩阵的秩尽可能大时才会存在逆。

秩肯定满足r≤m,r≤n,一个m×n矩阵不可能超过m个无关行或n个无关列,我们想证明当r=m时有一个右逆,使得Ax=b有解,当r=n时,有一个左逆,使得解(如果解存的的话)是唯一的。

只要方阵才能r=m,r=n,因此才能即有存在性又有唯一性,只有方阵才能保证两边都有逆。

17、存在:行满秩r=m。当且仅当列生成Rm时,Ax=b对每个b至少有一个解x,所以A有一个右逆C 使得AC=Im,这只有在m≤n时才可能。

唯一:列满秩r=n。当且仅当列是线性无关的时候,Ax=b对每个b最多有一个解x,所以A有一个左逆B 使得BA=In,这只有在m≥n时才可能。

在存在的情况中,一个可能解是x=Cb,因为Ax=ACb=b,但是如果其他右逆的话将会有其他解,当列生成Rm时解的个数为1或∞。

在唯一的情况中,如果Ax=b有一个解,那么它肯定是x=BAx=Bb,但是不可能有其他解,解的个数是0或1。

如果逆存在的话,他们最简单的形式如下: 

B=(ATA)−1ATandC=AT(AAT)−1

 

确定的是BA=I,AC=I,但是不确定的事ATA,AAT是否可逆,我会在之后的文章中证明ATA在秩为n时是可逆的,AAT在秩为m时是可逆的,总之秩尽可能大才会存在逆。

例2:考虑一个秩为2的2×3 矩阵: 

A=[400500]

 

因为r=m=2,定理保证存在右逆C: 

AC=[400500]⎡⎣⎢⎢140c31015c32⎤⎦⎥⎥=[1001]

 

存在很多右逆,因为C的最后一行可任意赋值,只是存在但不唯一的情况。就好着呢A没有左逆,因为BA肯定包含零,特殊的右逆C=AT(AAT)−1将c31,c32选为零: 

AT(AAT)−1=⎡⎣⎢400050⎤⎦⎥[11600125]=⎡⎣⎢⎢14000150⎤⎦⎥⎥=C

 

这是一个伪逆——我会在后面的文章详细介绍,A的转置有无限多个左逆: 

BAT=[140015b13b23]⎡⎣⎢400050⎤⎦⎥=[1001]

 

现在B的最后一列可任意赋值,最好的左逆(也叫做伪逆)是b13=b23=0。当r=n时这就是唯一的情况,因为n−r=0,所以没有自由变量,如果有解的话那也只有一个: 

⎡⎣⎢400050⎤⎦⎥[x1x2]=⎡⎣⎢b1b2b3⎤⎦⎥在b3=0时才有解

 

长方形矩阵不可能既满足存在性又满足唯一性,如果m与n 不同,那么不可能r=m,r=n。

方阵正好相反,如果m=n,那么它存在左逆的话肯定存在右逆,只可能有一个逆,即B=C=A−1。当矩阵是方阵时,存在性暗示着唯一性而唯一性也暗示着存在性。可逆的条件就是满秩:r=m=n:

  1. 列生成Rn,所以Ax=b对每个b至少有一个解。
  2. 列是独立的,所以Ax=0只有一个解x=0。
  3. A的行生成Rn。
  4. 行是线性无关的。
  5. 可以完整的进行消元:PA=LDU,有n个主元。
  6. A的行列式不等于零。
  7. 零不是A的特征值。
  8. ATA是正定的

中间的一些概念后面会陆续给出,这里是为了说明这些条件互相都是等价的,他们都确保A是可逆的。

这里有一个典型的应用,对于n−1次的多项式P(t),给定任意值b1,…,bn,存在n−1次的多项式满足这些值:P(ti)=bi,这就是我们要处理的方阵;P(t)=x1+x2t+⋯+xntn−1里系数的个数n和方程个数相等: 


这里写图片描述 

 

这个范德蒙矩阵是n×n的且满秩,Ax=b肯定有解(一个多项式肯定可以在不同的点ti处通过bi),随后我们还会求A 的行列式,它不等于零。

秩为1的矩阵

最后考虑最容易的情况,也就是秩尽可能小(除了零矩阵,它的秩为0)。数学的一个基本主题是给定一个复杂的东西,如果将它变成一些简单的部分。对于线性代数来说,最简单的部分就是秩为1的矩阵: 

A=⎡⎣⎢⎢⎢248−2124−1124−1⎤⎦⎥⎥⎥

 

每一行都是第一行的倍数,所以行空间是一维的。事实上,我们可以将矩阵写成一个列向量和一个行向量的乘积: 

⎡⎣⎢⎢⎢248−2124−1124−1⎤⎦⎥⎥⎥=⎡⎣⎢⎢⎢124−1⎤⎦⎥⎥⎥[211]

 

一个4×1矩阵和1×3矩阵相乘得到4×3矩阵,这个结果秩为1,同样的,列是同一列向量的倍数,列空间维数同样是r=1,简化为一条线。

每个秩为1的矩阵都可以写成简化的形式A=uvT。行是向量vT的倍数,列是向量u的倍数,行空间和列空间是一条直线——这就是最简单的情况。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值