构造子空间的方法主要有两种:
1,一种是给出一组向量,由他们来张成子空间。
例如,矩阵的列空间和行空间就是通过这种方法来构造的,他们分别是由矩阵的各列和各行张成的。
2,一种是给出子空间所应受到的约束,满足这些约束条件的向量构成了该子空间。
比如说,矩阵的零空间,就是由满足齐次方程组Ax=0的所有解构成的,方程组Ax=0中的每一个方程都是一个约束条件。
对于第一种方法而言,可以有多余的向量,即,线性相关的向量。对于第二种方法而言也可以有多余的约束条件。
"下面我们逐一讨论四个基本子空间,并讨论基底的求法。我们指出,这四个基本子空间都与矩阵U有关系,我们的问题是找出他们与原矩阵A的关系。"(打引号的这句话,不仅仅是原作者的重点,也是本文的重点。)
A的行空间与零空间都是1,A的行空间,C for Column --- 他是由A的各个行向量张成的
补充,上文中所提到的2L,所强调的应该是文中的第二句:
如何构造行空间:
A的行空间包含了U的行空间,是用阶梯矩阵U中的r个非零行作为基底去张成的。(注:不同的消元方式可能会产生不同的U矩阵,但不论用什么消元法,最终产生的U矩阵中的r个非零行,都可以作为A的行空间的基底,因为,基底不唯一。)A和U的行空间的维数相同,都等于r。不论是A的行空间还是U行空间都是由行向量所张成的,因此,只要行向量中有多少个元素,所张成的空间就是几维。但是,如果秩r不等于方程组的行数m,也就是说消元后得到的阶梯矩阵U中存在全零行,则原矩阵A中有m-r个线性相关的行。否则,阶梯矩阵U中不存在全零行,即m=r,A中各行都线性无关。
行空间的维数:
A的行空间是由A的各行线性组合得到的,又因为每个行向量都是由n个元素组成的。因此, 他是的一个子空间。A的行空间的维数等于阶梯矩阵U中非零行的个数,等于线性无关的行向量的个数,等于基底的个数,等于矩阵A的秩r。
举例:
首先,对这个矩阵而言,A=mxn=2x3,秩r=1。A的行空间是A的行向量的线性组合,又因为A的每行都是包含三个元素的行向量,所以,行空间是R3的子空间。
其次,A的行空间的维数等于r=1,从消元后的阶梯矩阵U中,可以发现,只有第一行对于行的线性组合有贡献。U的行空间,是用行向量[1 0 0]所张成的一条直线。是R3中的一个一维子空间。而A的行空间需要用A中的对应行向量张成。
2, A的零空间,N for Null --- 他是由齐次方程组 Ax=0的所有解构成的
如何构造零空间:
首先,对A进行高斯消元化简得到阶梯型矩阵U。观察矩阵U,看看是否存在全零行,如果有全零行,就有自由列。若存在自由列,则一定有n-r个自由列,对应有n-r个自由变量。依次让每一个自由变量为1,其余的自由变量都为0,求解Ux=0,求出n-r个特解向量x=[x1,x2,....xm]。用这n-r个特解向量作为基底,就能张成矩阵的整个零空间。(也可以看成是用n-r个自由列(特解列向量)合成0列的所有权重组合。)
Tips: A的零空间=U的零空间
零空间的维度:
对于任何mxn,即m个方程组,n个未知数的矩阵A而言,因为,零空间是矩阵A解的空间,每个解向量x都包含n个未知数,因此,他是的一个子空间。理论上说,零空间的维度=解向量的维度=未知数的个数=n,若高斯消元后的阶梯矩阵U不满秩,在U的n个列向量中,有r个主元列和n-r个自由列,n-r个自由列,对应了n-r个自由变量。则,A的零空间的维度=n-r=自由变量的个数。
A的零空间也叫A的核。
举例:
A=mxn=2x3,秩r=1。A有2个方程,3个未知数。A的零空间就是A的解的空间,任何一个解空间中的向量,都包含三个未知数,因此是R3的子空间。
A的零空间的维数等于n-r=2。因为,消元后的阶梯矩阵U有n-r=2个自由列,对应了两个自由变量。对自由变量取特殊值求解后,会得到两个特解向量。分别是列向量[0 1 0]和列向量[0 0 1],他们可以分别张成两条相互正交的直线。A的零空间是这两条直线张成的一个二维平面,是R3中的一个二维子空间。
3,A的列空间,C for column --- 他是由A的各个列向量张成的
补充,上文中所提到的2F,即,行秩=列秩:
如何构造列空间:
A的列空间由矩阵A中的r个线性无关的列向量(即,基底)所张成的。矩阵A中的r个线性无关的列向量所在的位置,就是阶梯矩阵U中,非零主元列的位置。
列空间的维数:
A的列空间是由A的各列线性组合得到的,又因为每个列向量都包含m个元素。因此, 他是的一个子空间。根据定理2F,阶梯矩阵U有多少个(r个)线性无关的非零行,就有多少个(r个)线性无关的非零主元列。又因为,矩阵A中线性无关的r个列向量,不仅在数量上等于,阶梯矩阵U中线性无关的列向量,并且,两个矩阵中线性无关的列向量在各自矩阵中所处的位置也相同。由此,我们得出,A的列空间的维数等于A的秩r,因为它是由r个线性无关的列向量(即,r个基底)所张成的。而这r个线性无关的列向量在A中所处的位置,等有阶梯矩阵U中r个主元列所处的位置。(注意:对于矩阵A和矩阵U而言,他们的基底所处的位置相同,但经过高斯消元后对应位置的各列向量中的元素已经发生了改变,因此,我们再次强调,A和U的列空间不同。)
关于列空间的小结:
1,A的列空间就是A的值域。
2,A的列空间和U的列空间不同,高斯消元后改变了A的列空间。
3,A和U构造基底所需的列向量所处的位置相同。阶梯矩阵U中哪几列线性无关,原矩阵A中的哪几列也线性无关。这是因为Ax=0的解和Ux=0的解相同,也就是说,A的零空间和U的零空间相同。
4,定理2F可简写为,行秩=列秩。
举例:
A=mxn=2x3,秩r=1。A的列空间是A中各列的线性组合,A中的每行都是包含两个元素的列向量,所以,是R2的子空间。
A的列空间的维数等于秩r=1。从消元后的阶梯矩阵U中,可以看到,只有第一个主元列有用,另外两个自由列对于线性组合,并没有贡献。所以,U的列空间C(U),只能是由列向量[1 0]所张成的一条过原点的直线。是R2中的一个一维子空间。而A的列空间需要用A中对应位置的列向量张成。
4,A的左零空间/的零空间
,N for Null --- 他是由齐次方程组
x=0的所有解构成的
左零空间的维数:
按照零空间的定义,零空间的维数,等于解向量的维数,等于未知数的个数。回到我们之前学习的行视图与列视图,从列视图的角度看齐次方程组Ax=0,列向量x中的每一个元素(也就是未知数)就是矩阵A中每个列向量线性组合所对应的权重,而A的零空间,就是能让A的各列线性组合后得到全零列,所有可能的权重x。或者说,满足Ax=0的这一约束的全部x。mxn矩阵A共有n个列向量,每个列向量对应一个权重,共n个权重(未知数),因此,A的零空间是的子空间(从另一个角度讲,因为解向量x是一个n维向量,包含n个元素(即,未知数))。
而现在我们要求解的矩阵变成了A的转置,这样一来,零空间的求解就变成了,能够保证
中各列线性组合后得到全零列的所有可能的权重x。又因为,
中的列,就是A中的行,因此,我们可以认为
的零空间是满足A的各行(共m行)线性组合后能够生成全零行的所有可能的权重x(即,未知数)。(这也是我自己比较满意的一种解释)
现在我们把列组合的模式x=0(这里列向量x是未知数向量),变成行组合的模式,即,用行向量
左乘A,即:
(原始矩阵A )
(如何通过列组合的方式得到全零列?注:A中的行等于A的转置中的列)
(如何通过行组合的方式得到全零行?)
x=0的零空间,是满足令A中各行的线性组合得到全零行的所有可能的权重
,A共有m行,需要m个权重
。因此,
的零空间或者说A的左零空间的是
的子空间。
同理,经过高斯消元后,可能会出现不满秩的情况,即出现了全零行,使得,非零行的个数矩阵的行数n。那么在全部的m个列向量中,有r个主元列和m-r个自由列。m-r个自由列,对应了m-r个自由变量。则,A的左零空间的维度=m-r=自由变量的个数。
举例:
A=mxn=2x3,秩r=1。A的左零空间是A的转置矩阵的解空间,变成了3个方程,2个未知数。因此,是R2的子空间。
A的左零空间的维数等于m-r=1。A的左零空间为A的转置矩阵的零空间。转置矩阵A共有2列,根据行秩=列秩=1,则剩下一列为自由列,对应了一个自由变量,因此只能得到一个特解向量,列向量[0 1]。这一个特解向量张成了一条过零点的直线,正是A的左零空间。是R2中的一个一维子空间。
补充:
对于任意mxn矩阵A都包含4个基本子空间,线性代数基本定理的上半部分指出了每一个子空间的维度。
A:
A的零空间和行空间都是的子空间。
A的左零空间和列空间都是的子空间。
B:
1,A的列空间的维数等于秩r。
2,A的零空间的维数等于n-r。
3,A的行空间的维数等于r。
4,A的左零空间的维数等于m-r。
注意:
Rank(A)
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?