一、定义转向算法

 在第六节讲了空间,列空间,零空间的定义,这节主要讲解如何求出这些空间,即求解$Ax=0$的过程是怎么样的过程,以下面的矩阵$A$为例:(这里主要是长方阵)

$A=\left[\begin{array}{llll}{1} & {2} & {2} & {2} \\ {2} & {4} & {6} & {8} \\ {3} & {6} & {8} & {10}\end{array}\right]$

仔细观察上面的矩阵就会发现行列之间的关系:第二列是第一列的2倍,第三行是前两行的和

 1)消元:零空间不会变,因为方程解不变

  第一阶段(找到第一个主元):$\left[\begin{array}{llll}{1} & {2} & {2} & {2} \\ {0} & {0} & {2} & {4} \\ {0} & {0} & {2} & {4}\end{array}\right]$

第二阶段(找第二个主元,发现是0,也无法通过后面的行交换来使得该位置不为0,我们就将0后面的2当作主元,继续对下面的行消元)

$\left[\begin{array}{llll}{1} & {2} & {2} & {2} \\ {0} & {0} & {2} & {4} \\ {0} & {0} & {0} & {0}\end{array}\right]=U$

  综上:我们已经找到了两个主元1和2,这里我们知道主元的数量是2,所以矩阵的秩就是2,矩阵的秩(rank)即为矩阵的主元数量

  我们原本要求$Ax=0$,现在经过消元,方程解不变,现在只需要求$Ux=0$

 2)主列和自由列

  主元所在的列为主列(如第一列和第三列),另外的是自由列(如第二列和第四列),所谓自由列就是我们可以任意分配其对应的未知变量的系数,如$x_2=1, x_4=0$

$x_{1}+2 x_{2}+2 x_{3}+2 x_{4}=0$
$2 x_{3}+4 x_{4}=0$

则方程解为:$x=\left[\begin{array}{c}{-2} \\ {1} \\ {0} \\ {0}\end{array}\right]$

当然也存在下面的解:$x=C\left[\begin{array}{c}{-2} \\ {1} \\ {0} \\ {0}\end{array}\right]$

  我们说过,自由列的存在使得我们可以为自由变量随意分配值,所以当然$x_2=0, x_4=1$也是可以的:

则方程解为:$x=\left[\begin{array}{c}{2} \\ {0} \\ {-2} \\ {1}\end{array}\right]$

当然也存在下面的解:$x=d\left[\begin{array}{c}{2} \\ {0} \\ {-2} \\ {1}\end{array}\right]$

有了上面两个特定解,我们就可以求出所有x,即矩阵的零空间:$x=C\left[\begin{array}{c}{-2} \\ {1} \\ {0} \\ {0}\end{array}\right] + d\left[\begin{array}{c}{2} \\ {0} \\ {-2} \\ {1}\end{array}\right]$

所以矩阵的零向量就是特定解的线性组合

零空间的求法:对矩阵A进行消元求得主变量和自由变量;给自由变量赋值得到特解;对特解进行线性组合得到零空间

 3)简化U:下面我们将会简化U来得到R

  简化的过程:从U出发,将主元上下全变为0,即$\left[\begin{array}{llll}{1} & {2} & {0} & {-2} \\ {0} & {0} & {2} & {4} \\ {0} & {0} & {0} & {0}\end{array}\right]$,然后将主元变为1即得到简化行阶梯形式R

$\left[\begin{array}{cccc}{1} & {2} & {0} & {-2} \\ {0} & {0} & {1} & {2} \\ {0} & {0} & {0} & {0}\end{array}\right]=R$

从上面的过程看出,全0的行是其他行的线性组合(行一减去行二,行二除以2)

  整个过程从求解$Ax=0$,消元变为$Ux=0$,简化变为$Rx=0$,熟悉了整个过程,Matlab中很容易实现这个过程$R = rref(A)$

  上面的过程如下所示:

$\left[\begin{array}{llll}{1} & {2} & {2} & {2} \\ {2} & {4} & {6} & {8} \\ {3} & {6} & {8} & {10}\end{array}\right] \rightarrow\left[\begin{array}{cccc}{1} & {2} & {2} & {2} \\ {0} & {0} & {2} & {4} \\ {0} & {0} & {0} & {0}\end{array}\right] \rightarrow\left[\begin{array}{cccc}{1} & {2} & {0} & {-2} \\ {0} & {0} & {1} & {2} \\ {0} & {0} & {0} & {0}\end{array}\right]$

 二、换一个角度

 上面我们从数值解的角度描述了矩阵零空间的求法,下面从公式角度分析:

 上面我们经过消元得到了最简形式R。我们将R经过列变换得到如下矩阵(交换二三列):

$\bar{R}=\left[\begin{array}{cccc}{1} & {0} & {2} & {-2} \\ {0} & {1} & {0} & {2} \\ {0} & {0} & {0} & {0}\end{array}\right]$

 同时,我们可以对方程式作如下变形:

$x=\left[x_{1}, x_{2}, x_{3}, x_{4}\right]$

$\bar{x}=\left[x_{1}, x_{3}, x_{2}, x_{4}\right]$

 方程的解不会发生变化,只是顺序变了,我们将$\bar{R}$划分区域:

$I_{2 \times 2}=\left[\begin{array}{cc}{1} & {0} \\ {0} & {1}\end{array}\right], F_{2 \times 2}=\left[\begin{array}{cc}{2} & {-2} \\ {0} & {2}\end{array}\right]$

 所以$\bar{R}$将变为:

$\bar{R}=\left[\begin{array}{cc}{I_{2 \times 2}} & {F_{2 \times 2}} \\ {0_{1 \times 1}} & {0_{1 \times 1}}\end{array}\right]$

 最终解方程变成了:

$R x=0 \rightarrow \bar{R} \bar{x}=0$

 代入方程得到零空间:

$\bar{R} \bar{x}=0_{3 \times 1} \rightarrow\left[\begin{array}{cc}{I_{2 \times 2}} & {F_{2 \times 2}} \\ {0_{1 \times 1}} & {0_{1 \times 1}}\end{array}\right]\left[\begin{array}{c}{-F_{2 \times 2}} \\ {I_{2 \times 2}}\end{array}\right]=-I_{2 \times 2} F_{2 \times 2}+F_{2 \times 2} I_{2 \times 2}=0$

$\rightarrow \bar{x}=\left[\begin{array}{c}{-F_{2 \times 2}} \\ {I_{2 \times 2}}\end{array}\right]=\left[\begin{array}{cc}{-2} & {2} \\ {0} & {-2} \\ {1} & {0} \\ {0} & {1}\end{array}\right]$

 我们再将$x_2,x_3$进行位置互换:

$x=\left[\begin{array}{cc}{-2} & {2} \\ {1} & {0} \\ {0} & {-2} \\ {0} & {1}\end{array}\right]$

这两个特解与之前我们求得的特解一致

三、实例练习

 有一矩阵$A$:

$A=\left[\begin{array}{ccc}{1} & {2} & {3} \\ {2} & {4} & {6} \\ {2} & {6} & {8} \\ {2} & {8} & {10}\end{array}\right] \rightarrow\left[\begin{array}{ccc}{1} & {2} & {3} \\ {0} & {2} & {2} \\ {0} & {0} & {0} \\ {0} & {0} & {0}\end{array}\right] \rightarrow\left[\begin{array}{ccc}{1} & {0} & {1} \\ {0} & {1} & {1} \\ {0} & {0} & {0} \\ {0} & {0} & {0}\end{array}\right]$

这样矩阵$A$就经过$U$变成了$R$

 由于$R$本来就具有很好的形式,就不用进行列变换了:

$I_{2 \times 2}=\left[\begin{array}{cc}{1} & {0} \\ {0} & {1}\end{array}\right], F_{2 \times 1}=\left[\begin{array}{l}{1} \\ {1}\end{array}\right]$

$R_{4 \times 3}=\left[\begin{array}{ll}{I_{2 \times 2}} & {F_{2 \times 1}} \\ {0_{2 \times 2}} & {0_{2 \times 1}}\end{array}\right]$

$R_{4 \times 3} x_{3 \times 1}=0_{4 \times 1} \rightarrow\left[\begin{array}{cc}{I_{2 \times 2}} & {F_{2 \times 1}} \\ {0_{2 \times 2}} & {0_{2 \times 1}}\end{array}\right]\left[\begin{array}{c}{-F_{2 \times 1}} \\ {I_{1 \times 1}}\end{array}\right]=\left[\begin{array}{c}{-I_{2 \times 2} F_{2 \times 1}+F_{2 \times 1} I_{1 \times 1}=0_{2 \times 1}} \\ {0_{2 \times 1}}\end{array}\right]$

 所以:

$x_{3 \times 1}=\left[\begin{array}{c}{-F_{2 \times 1}} \\ {I_{1 \times 1}}\end{array}\right]=\left[\begin{array}{c}{-1} \\ {-1} \\ {1}\end{array}\right]$

 注:最简矩阵R和零空间矩阵x在MATLAB中可以分别用命令rref(A),null(A,'r')得到

 本文实例参考,请点击

07-求解Ax=0:主变量、特解的更多相关文章

  1. MIT线性代数:7.主变量,特解,求解AX=0

  2. 求解Ax=b

    一 线性方程组 Ax=b 的解释 线性方程组 Ax=b,其中矩阵 A 尺寸为 m*n, 当 A 为方正时,可使用消元法判断解是否存在并求解.当 A 为长方形矩阵时,同样可使用消元法判断解存在情况并求解 ...

  3. phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别

    [题外话]phpinfo()这个函数可以查看很多php的信息,要 记得使用 phpinfo() 的很多部分有两个Column:Local Value(局部变量)和 Master Value(主变量) ...

  4. AS3.0定义变量的访问范围

    在AS3.0中变量的默认访问范围是:internal:包内成员可以访问,包外不可访问.AS2.0默认访问范围是public

  5. 07、NetCore2.0依赖注入(DI)之生命周期

    07.NetCore2.0依赖注入(DI)之生命周期 NetCore2.0依赖注入框架(DI)是如何管理注入对象的生命周期的?生命周期有哪几类,又是在哪些场景下应用的呢? -------------- ...

  6. jdk1.8.0环境变量设置

    jdk1.8.0环境变量设置 1.jdk安装完毕 打开如下链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloa ...

  7. [转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程

    [转]Tomcat9.0安装教程 Tomcat9.0环境变量配置教程 [转]超详细MySQL安装及基本使用教程

  8. python求解ax² + bx + c = 0

    系数需满足条件: a,b不能同时为0 b2-4ac≠0 代码如下def quadratic(a, b, c): """ 返回ax² + bx + c = 0的 " ...

  9. shell中$0,$?,$!等变量意义

    变量说明:   $$     #Shell本身的PID(ProcessID) $!     #Shell最后运行的后台Process的PID $?     #最后运行的命令的结束代码(返回值) $- ...

随机推荐

  1. Acitiviti的查询及删除(六)

    流程定义查询 查询部署的流程定义. /** * 查询流程定义信息 //act_re_procdef */ public class QueryProcessDefinition { public st ...

  2. Ubuntu安装过程中的问题

    1.win10系统安装32bit ubuntu,使用VM安装ubuntu 的iso文件,刚启动不停按F2,进入BIOS,boot设置为 CD-ROM drive 2.安装界面都没有出现,电脑老是重启, ...

  3. Internet History, Technology, and Security(week4)——History: Commercialization and Growth

    Explosive Growth of the Internet and Web: The Year of the Web 1994年后,由NCSA的老员工们构成的Netscape(网景)的成立.Ne ...

  4. Spring Cloud架构教程 (四)服务网关(路由配置)

    传统路由配置 所谓的传统路由配置方式就是在不依赖于服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由. 没有Eureka和Consul的服 ...

  5. 深入JavaWeb技术世界15:深入浅出Mybatis基本原理

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...

  6. 前端面试题-HTML结构语义化

    一.HTML语义化的背景 HTML结构语义化,是近几年才提出来的,对比之前的 HTML 结构,大多是一堆没有语义的标签.用的最多的就是 DIV+CSS,为了改变这种现状,开发者们和官方提出了 HTML ...

  7. 手机H5设计尺寸

    手机型号 导航栏和状态栏的高度 宽度 高度 可视区域高度 iPhone 4 (4, 4S) 64px 320px 480px 416px iPhone 5 (5c, 5s) 64px 320px 56 ...

  8. Oracle JET(二)Oracle JET使用

    Oracle JET 开发分为 Web 应用程序开发和移动应用程序开发(WebApp). Oracle JET Web 应用程序开发入门: 使用方法三种: 使用 Oracle JET Yeoman 生 ...

  9. el-date-picker用法

    需求:1.默认时间是当天开始到此刻的时间 2.快捷键为今天.昨天.最近一周.最近30天.最近90天 3.不可以清空,必选项

  10. 《HTML5 高级程序设计》

    第一章 HTML5 概述 开发 HTML5 的组织 Web Hypertext Application Technology Working Group (WHATWG):开发 HTML 和 Web ...