zoukankan      html  css  js  c++  java
  • 从向量空间的角度来理解方程组有无解的问题

    在开始之前,我们需要明确方程组可以转化成一组列向量的线性组合。什么意思呢?我们以下面一个例子进行介绍:

    [x_1+2x_2+x_3 = 1 \ 2x_1+3x_2+3x_3 = 3 \ x_1+3x_2+x_3=3 ]

    可转化成如下形式:

    [left(egin{array}{ccc}{1} & {2} & {1} \ {2} & {3} & {3} \ {1} & 3 & 1end{array} ight)left(egin{array}{l}{x_{1}} \ {x_{2}} \ {x_{3}}end{array} ight)=left(egin{array}{l}{1} \ {3} \ {3}end{array} ight) ]

    所以实际上上面方程组的本质就是对([1,2,1]^T,[2,3,3]^T,[1,3,1]^T)三个列向量进行线性组合得到([1,3,3]^T),至于如何组合就是X的解。

    上面的方程组可以进一步用(AX=b)的形式表示,我们结合上面的方程组从如下两种情况来讨论方程组有无解的问题。

    (b=0)

    这种情况就是对三个列向量进行线性组合,最后得到原点。

    • 如果(r(A)=n),即满秩(如图1),那么(A)中所有列向量线性独立,换句话说就是其中一个列向量无法由其余的列向量线性表示,即不存在(k_2,k_3)满足(-a_1=k_2a_2+k_3a_3),所以此时只有(X=0)才有解,但是这并不是我们关心的解。

    • 如果(r(A)<n)时(即图2),那么表示(A)中的列向量不是相互独立的,也就是说其中某一个列向量一定能由其他的列向量线性表示((-a1=k_2a_2+k_3a_3)),因此该情况有解。

    (b≠0)

    这种情况就是对三个列向量进行线性组合,最后得到一个向量(b)

    • 第一种情况:(r(A)=n),如图3所示,(A)中三个列向量线性独立,也就是说三个列向量是三个独立的基向量,所以任意的向量都能由这三个向量线性表示,而此时只有唯一解。
    • 第二种情况:(r(A)=r([A|b])<n),如图4所示,此时有无限解。
    • 第三种情况:(r(A)<r([A|b])),如图5,也就是说向量(b)属于一个新的维度。例如图5中(A)的三个列向量只构造出了一个二维空间,而(b)并不在这个二维空间里,因此无论如何也无法用三个列向量线性表示出(b),因此这种情况无解。

    总结

    • (Ax=b)
      • (r(A)=r([A|b])):
        • (r(A)=r(B)=n),有唯一解
        • (r(A)=r(B)<n),有无限多解
      • (r(A)≠r(B))无解
    • (Ax=0)
      • (r(A)=n)只有零解
      • (r(A)<n)有无限解


    MARSGGBO原创





    2019-8-27



  • 相关阅读:
    3.8 java基础总结①多线程
    RPM Database 实战详解
    关于CentOS7.2 控制面板不显示输入法,或者无法调出输入的问题。(已解决)
    mysqldump
    一些有意思的Linux命令
    和docket的第一次亲密接触
    centos7根分区扩容(亲测有效)
    相识mongodb
    开机自动获取spark用户名和服务器
    Puppet日常总结
  • 原文地址:https://www.cnblogs.com/marsggbo/p/11422746.html
Copyright © 2011-2022 走看看