矩阵论 - 7 - 求解Ax=0:主变量、特解
求解Ax=0:主变量、特解
求零空间(Nullspace)
矩阵 \(A\) 的零空间即满足 \(Ax=0\) 的所有构成 \(x\) 的向量空间。
对于矩阵 \(A\) 进行“行操作”并不会改变 \(Ax=0\) 的解,因此也不会改变零空间。(但是会改变列空间。)因为等号右侧的向量\(b=0\),因此不需要应用增广矩阵。
通过消元法,将 \(A\) 化为行阶梯矩阵 \(U\) ,过程如下:
矩阵的秩(rank)就是矩阵的主元的个数。
主变量(pivot variable,下划线元素)的个数为2。
矩阵的秩(rank)就是矩阵的主元的个数,即矩阵 \(A\) 和矩阵 \(U\) 的秩(rank)为2,即\(r=2\)。
主变量所在的列为主列(pivot column),其余列为自由列(free column)。
自由列中的变量为自由变量(free variable),自由变量的个数为\(n-r=4-2=2\)。
求特解
当我们将系数矩阵变换为行阶梯矩阵 \(U\) 时,就可以用回代求得方程 \(Ux=0\) 的解。
即:
在本例中,包含主元的矩阵第1列和第3列为主元列,而不包含主元的第2列和第4列为自由列。
对自由变量(free variable)x2和x4我们可以进行赋值。(方法是自由变量一次一个1,其他全0)。
\(Ux=0\) 可以表示为(使用矩阵乘法展开):\(\begin{cases}2x_3+4x_4=0\\ x_1+2x_2+2x_3+2x_4=0\end{cases}\)
令\(x_2=1, x_4=0\),求得特解:\(x=c_1\begin{bmatrix}-2\\1\\0\\0\\\end{bmatrix}\);
令\(x_2=0, x_4=1\),求得特解:\(x=c_2\begin{bmatrix}2\\0\\-2\\1\\\end{bmatrix}\);
矩阵 \(A\) 的零空间就是这些“特解”向量的线性组合所构成的向量空间,即\(c_1\begin{bmatrix}-2\\1\\0\\0\\\end{bmatrix}+c_2\begin{bmatrix}2\\0\\-2\\1\\\end{bmatrix}\)。
主元列和自由列的一个重要区别就是,自由列可以表示为其左侧所有主元列的线性组合,而主元列则不可以。
\[\begin{bmatrix} \underline{*} & * & * & *\\ 0 & 0 & \underline{*} & *\\ 0 & 0 & 0 & \underline{*}\\ \end{bmatrix}\]
行最简阶梯矩阵
可以将 \(U\) 进一步简化,即将\(U\)矩阵化简为\(R\)矩阵(Reduced row echelon form),即简化行阶梯形式。
在简化行阶梯形式中,主元上下的元素都是\(0\):
将\(R\)矩阵中的主变量放在一起,自由变量放在一起(列交换),得到:
计算零空间矩阵\(N\)(nullspace matrix),其列为特解,有\(RN=0\)。
原方程 \(Ax=0\) 变为求解 \(R\) 的主元行乘以 \(x\),\(\begin{bmatrix} I & F \\ \end{bmatrix} \begin{bmatrix} x_{pivot} \\ x_{free} \\ \end{bmatrix}=0\)。
将 \(Ax=0\) 的特解作为列向量写成一个矩阵 \(N\),即零空间矩阵,\(N=\begin{bmatrix} \;\\ I\\ \end{bmatrix}\)。
从矩阵分块乘法运算可知零空间矩阵上半部分为 \(-F\) ,即 \(N\) 最终形式为\(N=\begin{bmatrix} -F \\ I \\ \end{bmatrix}\)
对于上述例子:
从上面推论可得:\(N=\begin{bmatrix}-F \\I \\\end{bmatrix}=\begin{bmatrix}-2 & 2\\ 0 & -2\\1 & 0\\0 & 1\end{bmatrix}\)
对于矩阵 \(R\) 而言,求零空间特解就变得非常简单,只需要将消元的到的 \(F\) 部分拼接上单位阵就可以得到所有的通解。注意如果在变换出 \(R\) 左上角的单位阵的过程中采用了列交换,则最后的解要完成逆变换。
进行逆变换(三行和二行交换),可得\(N=\begin{bmatrix} -F \\ I \\ \end{bmatrix}=\begin{bmatrix}-2 & 2\\ 0 & -2\\1 & 0\\0 & 1\end{bmatrix}\underrightarrow{行交换}\begin{bmatrix}-2 & 2\\ 1 & 0\\0 & -2\\0 & 1\end{bmatrix}\),与上面求得的两个\(x\)特解一致。
总结
\(A\) 的零空间是 \(Ax=0\) 中 \(x\) 的解组成的集合;
解法1:
- 消元,将矩阵化为行阶梯矩阵 \(U\),得出自由列个数
- 自由列一个个赋1,其他皆0,求解方程,得出自由列个数个特解
- 特解的线性组合就是 \(A\) 的零空间
解法2:
- 消元,将矩阵化为行最简阶梯矩阵 \(R\)
- 通过某些列变化将 \(R\) 化成如下形式:\(R=\begin{bmatrix}I & F \\0 & 0 \\\end{bmatrix}\textrm{,其中}I\textrm{为单位矩阵,}F\textrm{为自由变量组成的矩阵}\)
- 得到解:\(N=\begin{bmatrix} -F \\ I \\ \end{bmatrix}\)
- 若进行了列变化,则最后的解要完成逆变换
reference
[1] textbook
[2] mit18.06学习笔记-0
[3] mit18.06学习笔记-1
矩阵论 - 7 - 求解Ax=0:主变量、特解相关推荐
- MIT 18.06 线性代数公开课笔记 Lecture07Ax=0: 主变量, 特解
本节课我们将从定义转换到算法, 如何解出 Ax=0A\mathbf{x}=\mathbf{0}Ax=0 . 取矩阵 A=[1222246836810]A=\begin{bmatrix} 1&2 ...
- 求解Ax=0:主变量、自由变量、特殊解
上一篇简单介绍了列空间(column space)和零空间(null space),这一次主要介绍如何求出零空间内的向量,即主要讨论Ax=0.假设有矩阵A=,略微观察一下其行和列可看出,列2是列1的倍 ...
- opencv求解AX=0
在Ax=0时候是不能用cvsolve来接函数的,但是可以利用一下函数来求解 [cpp] view plaincopyprint? #include<cv.h> #include<io ...
- 07-求解Ax=0:主变量、特解
一.定义转向算法 在第六节讲了空间,列空间,零空间的定义,这节主要讲解如何求出这些空间,即求解$Ax=0$的过程是怎么样的过程,以下面的矩阵$A$为例:(这里主要是长方阵) $A=\left[\beg ...
- 线性代数 --- 如何求解不可逆的mxn长方形矩阵Ax=0的通解Null(A)和Ax=b的通解
Solve Ax=0 and Ax=b 我们先看一个未知数一个方程ax=b的解的情况,他的解可以有三种情况: (i)当a0时,对于任意的b都有解x=b/a,这时方程有唯一解.(这种情况叫相容且非奇异) ...
- 超定方程的求解、最小二乘解、Ax=0、Ax=b的解,求解齐次方程组,求解非齐次方程组(推导十分详细)
本篇主要介绍的是超定方程组的求解,如果你不想看繁琐的推导过程,你可以直接看红字部分的结论! 1. 齐次线性方程组 Ax = 0 对于方程Ax=0\bm A \bm x = 0Ax=0,在我们实际的使用 ...
- Matlab --- 求解Ax=b时的反斜杠“\“,backslash
一直很喜欢两个老爷爷,一个是MIT主讲线性代数的Gilbert Strang,另一个就是Matlab的首席数学科学家Cleve Moler.记得作者在几年前,下载了他个人主页上的两本书.一本叫< ...
- 【代数之美】线性方程组Ax=0的求解方法
在3D视觉中,我们常常会遇到这样一个问题:求解线性方程组Ax=0Ax=0Ax=0,从矩阵映射的角度来说,所有解组成了矩阵AAA的零空间.一个典型的场景比如用八点法求解本质矩阵EEE,参见我前面的博文: ...
- 漫步线性代数九——求Ax=0和Ax=b
前面的文章关注的是方阵的逆矩阵,Ax=bAx=b有一个解的话它就是x=A−1bx=A^{-1}b,它可以通过消元法得到.一个长方形矩阵带来的新的可能性--UU可能没有所有的主元,本文我们就将UU 化为 ...
最新文章
- 学习web前端开发要注意什么
- 24BYJ48电机的使用,带驱动程序
- nokia 基亚 wp 开发中心
- 我发起了一个 用 物理服务器 和 .Net 平台 构建云平台 的 .Net 开源项目
- gparted调整分区大小_Windows系统分区可用空间不足问题解决终极方法
- 计算机名生成,如何让输出的文本名字自动生成计算机名字?
- DreamFactory入门指南 - 第1章REST和DreamFactory简介
- 非对称卷积—Asymmetric Convolutions
- 华为云联合HarmonyOS发布智联生活行业加速器
- ncurses键盘管理:cbreak,keypad,getch(),KEY_F(),clrtoeol()
- 使用Electron将Web项目打包成windows桌面应用
- 读书笔记--Head First Programming 目录
- 大学生游戏静态HTML网页作业--美丽中国
- 非线性动力学 matlab,非线性动力学matlab
- CSDN蓝桥杯算法题——题解Java版本——切面条
- Java多线程:synchronized | Volatile 和Lock和ReadWriteLock多方位剖析(一)
- 【Java爬虫-模拟淘宝登录】
- 角点检测 c语言 棋盘格,一种棋盘格角点全自动检测方法与流程
- Android Kotlin-协程
- 大数据技术——销售分析系统
热门文章
- java时间戳转换日期格式_Java时间戳与日期格式字符串的互转
- 超融合云数据中心,泽塔云为北京城市副中心建设添砖加瓦
- 蓝牙模块HC05遇到的一些常见的问题
- 高通平台开发系列讲解(USB篇)Composite USB gadget framework
- pythonSSL证书错误
- dspic33 怎么C语言编程,Microchip工程师社区 - dsPIC33汇编指令 - 16位MCU及DSC - 麦田论坛...
- 如何搭建一个超级好用的JavaWeb框架?
- Ubuntu命令关机
- python 给QQ好友发信息
- 【Python】Pyyaml和ruamel.yaml