08-求解Ax=b:可解性和解的结构
一、增广矩阵
假设我们要求解方程$Ax=b$,其中矩阵$A$和$b$如下所示:
$A = \left[\begin{array}{llll}{1} & {2} & {2} & {2} \\ {2} & {4} & {6} & {8} \\ {3} & {6} & {8} & {10}\end{array}\right]$
$b = \left[\begin{array}{llll}{b_1}\\ {b_2}\\{b_3}\end{array}\right]$
我们可以在矩阵$A$右侧加上一列b,得到:
$\left[\begin{array}{llll}{1} & {2} & {2} & {2} & {b_1} \\ {2} & {4} & {6} & {8}& {b_2} \\ {3} & {6} & {8} & {10}& {b_3}\end{array}\right]$
此即为增广矩阵:即A和b一块二考虑
二、可解性
方程$Ax=b$可解的条件是:当$b$属于$A$的列空间( C(A) )时,也就是$b$是$A$的列向量的线性组合
换一种说法:如果矩阵$A$各行的线性组合得到零,那么$b$分量执行相同的操作也必须得到零向量(参考上面的矩阵$A$)
只有$b$满足了上面的条件,方程才有解
三、求$Ax=b$所有解
第一步:求一个特解
将所有自由变量设为0
我们将增广矩阵进行消元后:
$\begin{array}{l}{\left[\begin{array}{}{1} & {2} & {2} & {2} & {b_{1}} \\ {0} & {0} & {2} & {4} & {b_{2}-2 b_{1}} \\ {0} & {0} & {0} & {0} &{b_{3}-b_{2}-b_{1}}\end{array}\right]} \\ {} \end{array}$
方程有解的条件便是:$O=b_{3}-b_{2}-b_{1}$,假设$b=\left[\begin{array}{l}{1} \\ {5} \\ {6}\end{array}\right]$,则消元矩阵为:
$\begin{array}{l}{\left[\begin{array}{}{1} & {2} & {2} & {2} & {1} \\ {0} & {0} & {2} & {4} & {3} \\ {0} & {0} & {0} & {0} &{0}\end{array}\right]} \\ {}\end{array}$
然后求出主变量:
针对上面的例子,$x_2, x_4 = 0$,则求主变量过程简化为:
$x_{1}+2 x_{3}=1$
$2 x_{3}=3$
于是一个特解为:$x_p = \left[\begin{array}{c}{-2} \\ {0} \\ {3/2} \\ {0}\end{array}\right]$
还记得07)节中的零空间吗?可以去看看,于是我们的通解为:即特解和零空间(在假设的$b$的情况下)
$X = \left[\begin{array}{c}{-2} \\ {0} \\ {3/2} \\ {0}\end{array}\right]+C_{1}\left[\begin{array}{c}{-2} \\ {1}\\ {0} \\ {0}\end{array}\right]+ C_{2}\left[\begin{array}{c}{2} \\ {0} \\ {-2} \\ {1}\end{array}\right]$
注意:这里的特解是与$b$的值相关的
那么为什么这样的组合可以组成方程的通解呢?原因如下:
$Ax_p = b$
$Ax_n = 0$
两者相加:$A(x_p + x_n) = b$
其中$x_p$是$b$给定下的特解,$x_n$是零空间,所以通解就是特解加零空间
也就是:

四、秩(Rank)
矩阵的秩等于矩阵的主元数。如果矩阵的秩为r,则必有r<=m且r<=n,下面讨论满秩(full rank)的情形:
列满秩:r=n。每列都有主元,x的每一个分量都是主变量,没有自由变量。零空间N(A)之内只有零向量。方程无解或者有唯一解,如下
为何列满秩时,零空间N(A)之内只有零向量?因为之前我们讲过零空间定义,该实例中满足$Ax=0$的$x$只有零向量,该实例中的列向量的线性组合无法得到零向量,所以列满秩时,零空间N(A)之内只有零向量。而该实例方程的通解就只剩下特解了,而特解取决于$b$,只有$b$正好是$A$列的线性组合时,方程才有唯一解
$A=\left[\begin{array}{ll}{1} & {3} \\ {2} & {1} \\ {6} & {1} \\ {5} & {1}\end{array}\right] \rightarrow\left[\begin{array}{ll}{1} & {0} \\ {0} & {1} \\ {0} & {0} \\ {0} & {0}\end{array}\right]=R$
行满秩:r=m。每行都有主元,无论b取何值,方程Ax=b都有解。主变量r个,自由变量n-r个,如下
$A=\left[\begin{array}{llll}{1} & {2} & {6} & {5} \\ {3} & {1} & {1} & {1}\end{array}\right] \rightarrow\left[\begin{array}{llll}{1} & {0} & {*} & {*} \\ {0} & {1} & {*} & {*}\end{array}\right]=R$
满秩r=m=n,矩阵可逆。零空间只有零向量,无论b取何值,方程$Ax=b$都有唯一解
$A=\left[\begin{array}{ll}{1} & {2} \\ {3} & {1}\end{array}\right] \rightarrow\left[\begin{array}{ll}{1} & {0} \\ {0} & {1}\end{array}\right]=R$
综上:秩决定了方程组解的数量
08-求解Ax=b:可解性和解的结构的更多相关文章
- 介绍求解AX=b:可解性与解的结构
前面用高斯消元法或矩阵LU分解求解线性方程组的解,主要是针对有唯一解(矩阵A可逆)的情况,下面进一步介绍线性方程组有多个解的情况下,解的求解.
- 求解Ax=b
一 线性方程组 Ax=b 的解释 线性方程组 Ax=b,其中矩阵 A 尺寸为 m*n, 当 A 为方正时,可使用消元法判断解是否存在并求解.当 A 为长方形矩阵时,同样可使用消元法判断解存在情况并求解 ...
- 2021.08.09 P5658 括号树(树形结构)
2021.08.09 P5658 括号树(树形结构) [P5658 CSP-S2019] 括号树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 太长,在链接中. 分析及代码 ...
- 2021.08.09 P5018 对称二叉树(树形结构)
2021.08.09 P5018 对称二叉树(树形结构) [P5018 NOIP2018 普及组] 对称二叉树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求一棵子树,关 ...
- 2021.08.06 P2441 角色属性树(树形结构)
2021.08.06 P2441 角色属性树(树形结构) P2441 角色属性树 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 求离x最近的祖先y且(x,y)>1. ...
- MIT线性代数:8.求解Ax=b,可解性和结构
- matlab 求解 Ax=B 时所用算法
x = A\B; x = mldivide(A, B); matlab 在这里的求解与严格的数学意义是不同的, 如果 A 接近奇异,matlab 仍会给出合理的结果,但也会提示警告信息: 如果 A 为 ...
- python求解ax² + bx + c = 0
系数需满足条件: a,b不能同时为0 b2-4ac≠0 代码如下def quadratic(a, b, c): """ 返回ax² + bx + c = 0的 " ...
- MIT线性代数:7.主变量,特解,求解AX=0
随机推荐
- mysqldump mysql数据库导入导出
syhuo_oauth数据库结构 [root@VM_58_118_centos dbback]# /usr/bin/mysqldump -uroot -P3306 --protocol=tcp --h ...
- eclipse配置Maven——菜鸟篇
首先解释关于webservice: Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序, 可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现 ...
- 3D Computer Grapihcs Using OpenGL - 06 Vertex and Fragment Shaders
从这里就接触到了可编程图形渲染管线. 下面介绍使用Vertex Shader (顶点着色器)和 Fragment Shader(像素着色器)的方法. 我们的目标是使用这两个着色器给三角形填充绿色. 添 ...
- Java Interger类,两对整数明明完全一样,为何一个输出true,一个输出false
package text; public class MethodOverload { public static void main(String[] args) { Integer i1=100; ...
- sed的一些应用
1. sed 使用变量进行替换,注意使用参数 r 时,需要放在参数 i 的前面 下面这个例子是用2.txt中的版本号替换docker-compose.yml中的版本号,其中变量UPGRADE_NAME ...
- 记一次SQL Server delete语句的优化过程
今天测试反应问题,性能测试环境一个脚本执行了3个小时没有出结果,期间其他dba已经建立了一些索引但是没有效果. 语句: DELETE T from License T WHERE exists ( ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_3_对象的反序列化流_ObjectInputStream
声明了IO异常,这里还是红色的 转换为Person对象
- Jmeter之Switch Controller
在测试过程中,各种不同的情况需要执行不同的操作,这个时候用if控制器比较麻烦,此时就可以使用Switch Controller代替. 一.界面显示 二.配置说明 1.名称:标识 2.注释:备注 3.S ...
- iview在项目中遇到的坑
1.下拉框选中某一项搜索发现总是搜不到,最后发现是选中后选中值后边莫名多了很长的空格,原因很简单,在代码中opction闭合标签和主体没有在一行. 2.iview+vue项目中,用百分比或者displ ...
- mysql多对多查询 原生写法
准备工作,1.创建表 CREATE TABLE IF NOT EXISTS `users` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `name` VARCHAR ...