线性代数笔记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 ...
随机推荐
- java中Calendar类
1.测试代码: package com; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util. ...
- jdbc中Class.forName(driverName)的作用
上次面试别人问我jdbc的过程: 我是这样回答的: Class.forName加载驱动 DriverManager.connect(url,username, password)获取连接对象 conn ...
- 矩震级Mw与地震矩M0的换算关系
矩震级实质上就是用地震矩来描述地震的大小.地震矩是震源的等效双力偶中的一个力偶的力偶矩,是继地震能量后的第二个关于震源定量的特征量,一个描述地震大小的绝对力学量,单位为N.m(牛.米),其表达式为: ...
- 关于jvm钩子 Runtime.getRuntime().addShutdownHook
转自: http://www.cnblogs.com/nexiyi/p/java_add_ShutdownHook.html 在线上Java程序中经常遇到进程程挂掉,一些状态没有正确的保存下来,这时候 ...
- python 高级语言特性
装饰器decorator的使用 在某公司的一次笔试中面试官出了一道题,使用python 的decorator实现一个函数的执行时间的计算. 分析:关于函数执行时间的计算,那么肯定是执行之前得到一个时间 ...
- crontab的定时任务实例
实例1:每1分钟执行一次myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3 ...
- Beta阶段冲刺---Day3
一.Daily Scrum Meeting照片 二.今天冲刺情况反馈 昨天已完成的工作: (1)数字以扑克牌的形式给出 (2)答案的乘除符号与游戏中的符号保持一致. 今天计划完成的工作 (1)闯关模式 ...
- scrapy框架发送post请求
注:scrapy框架默认发送get请求 1.想要发送post请求,那么推荐使用‘scrapy.FormRequest’方法.可以方便的制定表单数据.request = scrapy.FormReque ...
- laravel 添加验证码
1. 安装依赖 composer require gregwar/captcha 2.使用 use Gregwar\Captcha\CaptchaBuilder; use DB; use Requ ...
- JAVA基础部分复习(四、抽象类与接口)
抽象类与接口的定义: package cn.review.day02; /** * 抽象类 * 定义: * 1.抽象类使用关键字abstract修饰 * 2.抽象方法必须定义在抽象类中,抽象方法没有方 ...
