线性代数笔记13——Ax=b的通解
关于最简行阶梯矩阵和矩阵秩,可参考《线性代数笔记7——再看行列式与矩阵》
召唤一个方程Ax = b:

3个方程4个变量,方程组有无数解,现在要关注的是b1b2b3之间满足什么条件时方程组有解,它的解是什么?
在这个例子中可以马上看出,b1+b2 = b3,一般的方法是消元法化简:

化简到这一步就可以确定主元是x1和x3。通过最后一行可知,b3 – b2 - b1 = 0。b1b2b3可以是任意数,所以只要满足b3 – b2 - b1 = 0,方程组就有解。这样的组合很多,可以很容易找到一个特解:

现在我们知道了b中三个分量的关系,并且还知道只有当 b属于A的列空间时有解。通过上一章的方法可知,列空间的基就是主元所在的列:

到此为止回答了第一个问题,什么样的b才能使Ax = b有解。现在需要回答另一个问题,Ax = b的所有解是什么?
可以先找出一个特解,方法是令所有自由元为0,然后解出主元:

已经找到了一个特解,那么方程组的其它解,也就是通解是什么呢?
假设Ax= 0的零空间的任意向量是xn,Ax = b有一个特解xp,那么有:

二者相加:

所以方程组的通解是xn + xp。对于方程组的某解xp来说,xp与零空间内任意向量之和仍为解。现在看看零空间:

综合特解,得到Ax = b的通解:

矩阵的秩和主元个数相同。如果A是一个m行n列的矩阵,其主元的个数一定小于m,并且也小于n。如果A的每一列都有主元,那么A是满秩矩阵,没有自由元,如果此时有解,则解是唯一的,就是特解,即x = xp,此时不需要求解零空间,零空间只包含零向量。
作者:我是8位的
线性代数笔记13——Ax=b的通解的更多相关文章
- 线性代数笔记24——微分方程和exp(At)
原文:https://mp.weixin.qq.com/s/COpYKxQDMhqJRuMK2raMKQ 微分方程指含有未知函数及其导数的关系式,解微分方程就是找出未知函数.未知函数是一元函数的,叫常 ...
- 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...
- Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法
Ext.Net学习笔记13:Ext.Net GridPanel Sorter用法 这篇笔记将介绍如何使用Ext.Net GridPanel 中使用Sorter. 默认情况下,Ext.Net GridP ...
- SQL反模式学习笔记13 使用索引
目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引. 索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...
- JAVA自学笔记13
JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①publi ...
- golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换
golang学习笔记13 Golang 类型转换整理 go语言string.int.int64.float64.complex 互相转换 #string到intint,err:=strconv.Ato ...
- springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定 标签: springmvc springmvc学习笔记13-springmvc注解开发之集合类型參数绑定 数组绑定 需 ...
- 强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)
强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods) 学习笔记: Reinforcement Learning: An Introduction, Richa ...
- Python3+Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记13(js操作应用:弹出框无效如何处理)'''from sel ...
随机推荐
- 设置checkBox不拦截焦点
android:clickable="false"android:focusableInTouchMode="false"android:focusable=& ...
- netty源码理解(一):new一个NioEventLoopGroup的时候做了哪些事
好了,回到构造方法的调用中
- Linux 配置selenium + webdriver 环境
1.ubuntu 自带了python, 可以打开终端输入python 回车后如果显示版本信息就说明已经安装 2.安装安装python setup tools apt-get install pytho ...
- MVC实现上传图片的方法
Form提交时,须注意form需要添加属性enctype="multipart/form-data",否则Request.Files.Count=0,无法上传图片. cshtml代 ...
- webview定位 & native和webview切换
前言:现在的app大都是混合式的native+webview,对于native可以直接用uiautomator定位然后操作元素,但是web就定位不到了 一.先看看使用native定位的 二.定位web ...
- github咋用昂
github-trend:https://github.com/trending github-usingway:https://zhuanlan.zhihu.com/p/41899093 githu ...
- python day14--内置函数二
主要内容: 1.lamda匿名函数 2.sorted() 3.filter() 4.map() 5.递归函数 一.Lamda匿名函数 语法:lamda:参数:返回值 # 计算n的n次⽅方 def fu ...
- nodejs环境下配置运行mysql
首先需要在本地运行node环境 必须在本地安装mysql(可以用xampp里面的) 在node环境下引入mysql模块 命令: npm install node-mysql 运用例子(前提条件 ...
- Gym - 101806T: Touch The Sky(贪心)
Figure: The house floats up in the sky by balloons. This picture is also used in 2018 KAIST RUN Spri ...
- 在城市后面加上省,市,区 以及将MySQL入库脚本封装成class
在城市后面加省,市,区时,使用过滤器和for循环,if判断 一起使用. 自定义一个过滤器 def my_detail(val): ...
