• 线性代数 --- 四个基本子空间(个人学习笔记)


    由向量张成VS用条件约束

    构造子空间的方法主要有两种:

    1,一种是给出一组向量,由他们来张成子空间。

    例如,矩阵的列空间和行空间就是通过这种方法来构造的。

    2,一种是给出子空间所应受到的约束,满足这些约束条件的向量构成了该子空间。

    例如,矩阵的零空间,就是由满足齐次方程组Ax=0的解构成的,方程组Ax=0中的每一个方程都是一个约束条件。

            对于第一种方法而言,可以有多余的向量,即,线性相关的向量。对于第二种方法而言也可以有多余的约束条件。

            "下面我们逐一讨论四个基本子空间,并讨论基底的求法。我们指出,这四个基本子空间都与矩阵U有关系,我们的问题是找出他们与原矩阵A的关系。"(打引号的这句话,不仅仅是原作者的重点,也是本文的重点。)


    1,A的行空间C(A^{T}),C for Column--- 由向量张成

    补充:

    行空间构造法:

            A的行空间包含了U的行空间,是用阶梯矩阵U中的r个非零行作为基底去张成的。A和U的行空间的维数相同,都为r。因为,行空间是由r个线性无关的行向量所张成的。若,r不等于m,即阶梯矩阵U中存在非零行,则A中可能存m-r个线性相关的行。

    行空间的维数:

            等于阶梯矩阵U中非零行的个数,等于线性无关的行向量的个数,等于基底的个数,等于矩阵A的秩r。

    2, A的零空间N(A),N for Null --- 用条件约束

    零空间的维度:

            对于任何mxn,即m个方程组,n个未知数的矩阵A而言,因为,零空间是矩阵A解的空间,因此,他是R^{n}的一个子空间。他的零空间的维度=解向量的维度=未知数的个数=n,若高斯消元后的阶梯矩阵U不满秩,在U的n个列向量中,有r个主元列和n-r个自由列,n-r个自由列,对应了n-r个自由变量。则,A的零空间的维度=n-r=自由变量的个数

    零空间构造法:

            有几个自由变量,就求几个特解向量。(依次,让一个自由变量为1,其余的自由变量都为0。)用这n-r个特解向量作为基底,张成矩阵的零空间。

    A的零空间也叫A的核。

    3,A的列空间C(A),C for column --- 由向量张成

    补充:


     列空间的维数:

            因为,阶梯矩阵U有多少个(r个)线性无关的非零行,就有多少个(r个)线性无关的非零主元列。又因为,矩阵A中线性无关的r个列向量,不仅在数量上等于,阶梯矩阵U中线性无关的列向量,并且,两个矩阵中线性无关的列向量在各自矩阵中所处的位置也相同。由此,我们得出,A的列空间的维数等于A的秩r,因为它是由r个线性无关的列向量(即,r个基底)所张成的。而这r个线性无关的列向量在A中所处的位置,等有阶梯矩阵U中r个主元列所处的位置。(注意:对于矩阵A和矩阵U而言,他们的基底所处的位置相同,但经过高斯消元后对应位置的各列向量中的元素已经发生了改变,因此,我们再次强调,A和U的列空间不同。

     列空间的构造法:

            A的列空间由矩阵A中的r个列向量(即,基底)所张成的。矩阵A中的r个列向量所在的位置,就是阶梯矩阵U中,非零主元列的位置。

    小结:

    1,A的列空间就是A的值域。

    2,A的列空间不等于U的列空间,高斯消元后改变了A的列空间。

    3,A和U构造基底所需的列向量所处的位置相同。阶梯矩阵U中哪几列线性无关,原矩阵A中的哪几列也线性无关。

    4,定理2F可简写为,行秩=列秩

     4,A的左零空间/A^{T}的零空间 N(A^{T}),N for Null --- 用条件约束

    左零空间的维数:

            按照零空间的定义,零空间的维数,等于解向量的维数,等于未知数的个数。回到我们之前学习的行视图与列视图,从列视图的角度看齐次方程组Ax=0,列向量x中的每一个元素(也就是未知数)就是矩阵A中每个列向量线性组合所对应的权重,而A的零空间就是能让A的各列线性组合后得到的全零列所对应的所有可能的权重x。或者说,满足Ax=0的这一约束的全部x。mxn矩阵A共有n个列向量,每个列向量对应一个权重,共n个权重(未知数),因此,A的零空间是R^{n}的子空间(因为解向量x是一个n维向量,包含n个元素(即,未知数))。 

            而现在我们要求解的矩阵变成了A的转置A^{T},因此,A的零空间就变成了能够保证A^{T}中各列线性组合后得到全零列的所有可能的权重x。又因为,A^{T}中的列,就是A中的行,因此,我们可以认为A^{T}的零空间是满足A的各行线性组合后能够生成全零行的全部x。

            现在我们把列组合模式的A^{T}x=0(这里列向量x是未知数向量),变成行组合的模式,即,用行向量x^{T}左乘A,即:

    \large A=\begin{bmatrix} - & row1 & - \\ - & - &- \\ - & rown &- | \end{bmatrix}

    \large A^{T}x=\begin{bmatrix} | & | & | \\ row1& | & rown \\ |& | & | \end{bmatrix}\begin{bmatrix} x1\\ ...\\ xn \end{bmatrix}

    \large x^{T}A=\begin{bmatrix} x1 &... &xn \end{bmatrix}\begin{bmatrix} - & row1 & -\\ - & - &- \\ -& rown &- \end{bmatrix}

            转置后的A^{T},变成了nxm矩阵,共有m个列向量,共需m个未知数作为相应的权重。因此,A'的零空间或者说A的左零空间的是R^{m}的子空间。

             同理,经过高斯消元后,可能会出现不满秩的情况,即出现了全零行,使得,非零行的个数\neq矩阵的行数n。那么在全部的m个列向量中,有r个主元列和m-r个自由列。m-r个自由列,对应了m-r个自由变量。则,A的左零空间的维度=m-r=自由变量的个数


    线性代数基本定理:

    A:

     A的零空间和行空间都是R^{n}的子空间。

    A的左零空间和列空间都是R^{m}的子空间。

    B:

     翻译成中文就是:

    1,A的列空间的维数等于秩r。

    2,A的零空间的维数等于n-r。

    3,A的行空间的维数等于r。

    4,A的左零空间的维数等于m-r。

    例:

     对上面这个矩阵而言,A=mxn=2x3,秩r=1

            首先,根据上面的A定理,我们知道,A的零空间和行空间都是R3的子空间。

            合理:1,A有两个方程,三个未知数。A的零空间就是A的解的空间,也就是未知数的空间,所以,是R3的子空间。2,A的行空间是A的行向量的线性组合,又因为A的每行都是包含三个元素的行向量,所以,行空间是R3的子空间。

            其次,A的左零空间和列空间都是R2的子空间。

            合理:1,A的列空间是A中各列的线性组合,A中的每行都是包含两个元素的列向量,所以,是R2的子空间。2,A的左零空间是A的转置矩阵的解空间,变成了三个方程,两个未知数。因此,是R2的子空间。


            其次:

            1,A的列空间的维数等于秩r=1。从消元后的阶梯矩阵U中,可以看到,只有第一列有用,另外两列对于,列的线性组合,并没有贡献,所以,U的列空间C(U),只能是用列向量[1 0]所张成的一条过原点的直线。是R2中的一个一维子空间。而A的列空间需要用A中对应位置的列向量张成。

              2, A的行空间的维数等于r=1,从消元后的阶梯矩阵U中,可以发现,只有第一行对于行的线性组合有贡献。U的行空间,是用行向量[1 0 0]所张成的一条直线。是R3中的一个一维子空间。而A的行空间需要用A中的对应行向量张成。

            3,A的零空间的维数等于n-r=2。因为,消元后的阶梯矩阵U有,n-r=2个自由列,对应了两个自由变量。对自由变量取特殊值求解后,会得到两个特解向量。分别是列向量[0 1 0]和列向量[0 0 1]。这两个向量所张成的一个二维平面就是A的零空间。是R3中的一个二维子空间。

            4,A的左零空间的维数等于m-r=1。因为,A的左零空间为A的转置矩阵的零空间。又因为, 行秩=列秩,可知,转置矩阵A共有2列,因为,秩等于1,所以,只剩下一列为自由列,对应了一个自由变量,因此只能得到一个特解向量,列向量[0 1]。这一个特解向量张成了一条过零点的直线,正是A的左零空间。是R2中的一个一维子空间。

     注意:

    Rank(A)<=min(m,n)

    关于维度的困惑:

            简单点说,既然任何向量空间V是由向量或基底所张成的,所以,向量是几维(也就是包含几个分量)的,所张成的空间就是几维的。但,秩的出现,导致了,秩是多少,某些空间就是几维。这就让我有些迷惑了,毕竟在我看来,秩,代表了线性无关向量的个数,而不是基底或向量中元素的个数。因为,这完全是两回事。例如,一个2x3矩阵,我们来求他的列空间,他的列空间是列向量张成的,每个列向量有2维,列空间就应该是2维。但,按照秩的理论,如果有100个线性无关的列向量,那列空间岂不是就是100维。但,考虑秩的定义,秩r永远小于等于min(2,3)=2,因此,也就不存在我上面说的那种100个线性无关列向量的悖论。

    \LARGE A=U=\begin{bmatrix} 1 &0&0 \\ 0&1&0 \end{bmatrix}

            考虑上面的这个矩阵,已知,A为2x3矩阵,秩r=2。求A或U的列空间:       

            一方面,列空间的一组基底为[1 0]',[0 1]',A的列空间是各列的线性组合,当时也是基底的线性组合。基底中的列向量所包含的元素个数为2。因此,列空间的维度为2。另一个方面,根据线性代数中关于四个基本子空间的相关定理,A的列空间的维度等于秩r,等于A中所有线性无关的列向量的个数2。(注意,这里说的是向量的个数,而不是向量中元素的个数,或者说向量的维度)

            可见,A的列空间分别从两个角度去理解,得到了相同的维度2。A的列空间充满了整个R^{2}空间。

            对于A的行空间而言,一方面,行空间的基底为[1 0 0],[0 1 0]共两个行向量,每个行向量包含的元素个数为3。因此,行空间的维度为3。另一方面,A的行空间的维度等于A的秩,又因为,列秩等于行秩,等于A中线性无关行的个数。得出,A的行空间的维数是2。

            不矛盾:秩永远小于等于min(m,n),所以,用第二种方式求得的维数要么是第一种方式求得的维数的子空间,要么就能充满全部空间。

     (全文完)

    作者 --- 松下J27

    鸣谢(参考文献):

    1,线性代数及其应用,侯自新,南开大学出版社,1990.

    2,Linear Algebra and Its Applications(Fourth Edition) - Gilbert Strang

    格言摘抄:只要嘴巴甜,总能化到缘。(西游记动画片中猪八戒的格言)

      

    (配图与本文无关)

    版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27​

  • 相关阅读:
    leetcode_23合并K个升序链表
    递归经典例题 --- 青蛙跳台阶(图文详解)
    猿创征文|盘点刚使用ubuntu时建议下载的软件
    【物理应用】基于Matlab模拟极化雷达回波
    SpringBoot统一返回值与actuator的矛盾
    随机数发生器设计(四)
    Redis 主从搭建
    Eureka架构篇 - 服务续约与自我保护机制
    Java八股文(MyBatis Plus)
    【C语言】柔性数组
  • 原文地址:https://blog.csdn.net/daduzimama/article/details/125382313