目录
2.3 还一个扩展问题:如果方程组太多了,比变量还多怎么办?
0 写在前面的一些内容
0.1 学习心得:
- 在学习过程中,确实会遇到不懂得,像我这种喜欢追问的,遇到不懂的问题,还会继续追问挖起一串。但是这时候就要想到“学而不思则罔,思维不学则殆”。不要因此偏离了主要方向和过于浪费时间
- 应该,先了解,知识里现在的内容是“怎么样的”也就是“怎么展开的,这个逻辑梳理清楚”,学到一定阶段了再回头去思考之前没搞懂的问题。
- 弄清楚了“怎么是这样” ,再去思考“为什么”,后来再回头看有疑问的效率会高很多。这也是一种分步骤思考问题的严密逻辑问题
- 从哲学上说,人的思考绝对不可能从绝对的起源点开始,只能是在一些相对的中间节点出发,当做起点起推导
0.2 参考其他书籍总结的知识点,对照学习
1 线性方程组求解
1.1 常见的线性方程组如下
如下图的线性方程组,如何求解呢?
或者可以变形为这样
1.2 记住常见的 矩阵函数的维数的关系
- Ax=y
- 记住常见的 矩阵函数的维数的关系,对于理解矩阵函数求解很重要
- 矩阵Am*n, 而Xn*1=[x1,x2….xn] ,bm*1=[b1,b2….bm]
- 矩阵A是 m*n(有可能没满秩)
- 自变量X的维度是n, Xn*1=[x1,x2….xn]
- 因变量y(或b)维度是m ,Ym*1= bm*1=[b1,b2….bm]
1.3 需要求解的方程组和矩阵的对应关系,需要先厘清
1.3.1 如果只需要求解x,是类 Ax=b的形式
- Ax=b
- 因为这里只是 多个一元方程组,所以可以这么算
- 要注意,矩阵Am*n * 列向量Xn*1得到的是 b m*1的列向量
- 其中列向量X的维度是n
- 而 列向量b 的维度是m
- x1,x2 但是 b1,b2,b3
1.3.2 如果是x,y的联立方程组,是类 Ax=y的形式
- Ax=y
- 因为联立二元方程组,需要 同样多的x和y
- 必须要求矩阵是A nn,也就是矩阵A必须是方阵
- 要注意,矩阵Ann * 列向量Xn1得到的是 b n1的列向量
- 其中列向量X的维度是n
- 而 列向量y/b的维度是n
- x1,x2,x3 同时 y1,y2,y3
1.4 方程组的解的可能有这几种情况:
- 无解
- 有解
- 无数解
- 唯一解
1.5 线性方程组的解的几何情况(用3元线性方程组举例)
比如3元线性方程组,其解其实就是这3根直线的交点,就是解
- 无解的情况
- 无解: 三线平行
- 无解:三线不相交于一点
- 有解
- 有唯一解:三线相交于一点
- 有无数解:三条线重叠
2 线性方程组的多种解法(至少这里有3种)
- 消元法求解
- 行列式求解
- 矩阵函数求解
2.1 方法1:消元法/高斯消元法
- 消元法,就是普遍知道的解方程的方法
- 问题是,当线性方程组的变量元越多,方程组越多,就会越复杂。。。
2.2 方法2:根据克拉默法则用行列式求解
理论上根据克拉默法则,下面这些都可以直接用克拉默法则求解
- 2阶的线性方程组
- 3阶的线性方程组
- 4阶的线性方程组
- …..
- 但是实际上,高阶的行列式求解也够复杂。。。
2.3 还一个扩展问题:如果方程组太多了,比变量还多怎么办?
我们解题时,往往是方程组和变量元,刚刚好一样多,但是现实中,往往不是信息太少,就是信息太多
- 如果信息太少,如方程组里的方程数量太少:无法求解
- 如果信息太多,方程组里的方程数量多于变量,甚至远多于,该怎么办?
- 这可能就需要用到线性回归了, y=ax+b+ε
- 因为信息量太多,能求出很多组解开,但是不能求准确解,而是要求近似解
- 而让ε 足够小,就可以求出尽量最近似的解
2.4 有没有更简便的求解方程组的解的方法呢?
答案是有的
2.4.1 可以快速确定是否有解,解的个数
- 提前给结论,具体的内容在下面
- 对于线性方程组 Ax=b,如果系数矩阵A和秩 = 增广矩阵B(B=A|b)的秩,也就是rank(A) =rank(B)那么就有解
- 对于线性方程组 Ax=b,如果系数矩阵A和秩 = 增广矩阵B(B=A|b)的秩,并且
- rank(A) =rank(B)=n ,就有唯一解
- rank(A) =rank(B)<n ,就有无数解
2.4.2 还可以解出具体的解
- 详细见下面的内容
3 线性方程组用矩阵函数求解
3.1 线性方程组转化为矩阵函数形式
线性方程组可以转化为矩阵函数形式
- step1:
- step2: 矩阵函数 A*x=y (或者Ax=b)
- step3:
- step4:
3.2 如何从矩阵的角度看,是否有解?
3.2.1 从函数和映射的角度看解的情况
- 是否有解:就是 Ax=b (或者Ax=y),是否有x与b对应(映射),即b落入了x的值域
- 解的个数:就是 Ax=b (或者Ax=y),有多少个x与b对应
- 解的集合:就是 Ax=b中,与b对应的具体的x是哪些
3.2.2 那么从矩阵函数的角度看呢
矩阵函数 Ax=y
- 那么定义域就是x的取值范围
- 值域=y=Ax
- 定理:矩阵函数Ax=y, 当定义域是自然定义域时,值域(就是y=Ax)就是Ax的列空间
所以
- 如果b(y) 落在Ax的形成的向量空间内,那就有解,否则无解
定理:矩阵函数Ax=y, 当定义域是自然定义域时,值域(就是y=Ax)就是Ax的列空间
Ax=矩阵左乘它所有可以进行左乘的向量,所得的结果组成的集合
因为Ax=y, 因为是 x 左乘A,所以A是基(A的列向量是基,比如c1,c2),而Ax 就是x经过A线性变换后形成的新的向量组(比如d1,d2)=也就是A的列向量(c1,c2)的线性组合,一定会落在A的列向量(c1,c2)构成的向量空间里。
而Ax=y作为值域,其实就是Ax的列向量,也就是 方程组的解就是Ax的列向量
- 一个矩阵A(m×n)的值域空间(列空间)是R^m的子空间,
- 是A的列向量组所有线性组合的集合。
- 该空间维数dim Col A等于A的秩Rank(A)。
3.2.3 怎么判断 b 落在Ax的形成的向量空间内呢?
定理
有解的判断
- 对于线性方程组 Ax=b,如果系数矩阵A和秩 = 增广矩阵B(B=A|b)的秩,也就是rank(A) =rank(B)那么就有解
- Ax=y
- 矩阵Am*n, 而Xn*1=[x1,x2….xn] ,bm*1=[b1,b2….bm]
- rank(x) =n 单个一维向量,不存在线性相关问题,所以 n 代表定义域X的秩
- rank(b)=m 单个一维向量,不存在线性相关问题
- 因此,A的零空间 rank(A)<=min(m,n) ,rank(A) 代表值域的秩,因为值域 rank(b)=m其实被rank(A) 所决定。但是值域的秩,为啥不直接用 rank(b) 呢?
- 而 rank(null(A)) 实际就是 rank(Ax=0),所以 rank(null(A))<=min(m,n)
解的个数的判断
- 对于线性方程组 Ax=b,如果系数矩阵A和秩 = 增广矩阵B(B=A|b)的秩,并且
- 如果A是m*n的矩阵,其中n是X的秩。
- m,n 的相对大小不定,m (> or < or =) n
- rank(A) =rank(A|b)=n (n=rank(X)=A满秩时列向量个数) ,就有唯一解
- rank(A) =rank(A|b)<n (n=rank(X)=A满秩时列向量个数),就有无数解
满秩矩阵有唯一解
4 齐次线性方程组 & 非齐次线性方程组
4.1 线性方程组分类
齐次线性方程组 Ax=0
非齐次线性方程组 Ax=b
4.2 零空间 null(A)
齐次线性方程组 Ax=0,其实就对应了 零空间 null(A)
- 零空间是在线性映射(即矩阵)的背景下出现的,指:像为零的原像空间,即{x| Ax=0}。
- 在数学中,一个算子 A 的零空间是方程 Av = 0 的所有解 v 的集合。它也叫做 A 的核,核空间。
- 如果算子是在向量空间上的线性算子,零空间就是线性子空间。因此零空间是向量空间。
5 齐次线性方程组 Ax=0 求解
5.1 用矩阵方法求解
具体举个例子,下面是具体计算步骤
- ,
- 线性变换
- x本身展开就是(x1,x2)
- 令k=x2
- 向量 是一个点,但是 就是一条用k来线性变换(伸缩这个列向量)最终形成的1条直线,在二维图会等价于 x2=-x1(或y=-x)的一条直线
- 因为k是实数,因此,解集就是 张成的张成空间,这里本质是一条线。
- 所以有无数个解
5.2 如果直接用解方程的方法求解
- 得到的答案也是一样的
- 但是方程组比较多比较复杂的时候,矩阵求起来可能方便点吧?
6 非齐次线性方程组 Ax=b 求解
6.1 用矩阵方法求解
解法类似
比如求解
- 具体例子
- 。。。。解法类似,省略
- ,其中 是 特解,而 是零空间null(A)
- 零空间null(A) 就是类这个非齐次线性方程组对应的齐次线性方程组的解
- 从几何上就是把 平移了 的距离
- 解集就是过特解 且与零空间平行的一条直线
6.2 如果直接用解方程的方法求解
- 得到的答案也是一样的
- 但是方程组比较多比较复杂的时候,矩阵求起来可能方便点吧?
7 秩零定理
- Ax=y
- 矩阵Am*n, 而Xn*1=[x1,x2….xn] ,bm*1=[b1,b2….bm]
- rank(x) =n 单个一维向量,不存在线性相关问题,所以 n 代表定义域X的秩
- rank(b)=m 单个一维向量,不存在线性相关问题
- 因此,A的零空间 rank(A)<=min(m,n) ,rank(A) 代表值域的秩,因为值域 rank(b)=m其实被rank(A) 所决定。但是值域的秩,为啥不直接用 rank(b) 呢?
- 而 rank(null(A)) 实际就是 rank(Ax=0),所以 rank(null(A))<=min(m,n)
形式1
- rank(值域)+rank(null(A)) = rank(定义域)
- rank(A)+rank(null(A))=n
形式2
- rank(定义域)>=rank(值域)
- rank(定义域)-rank(null(A))=rank(值域)
- n-rank(null(A))=rank(A)
今天的文章
线性代数的学习和整理14: 线性方程组求解的3种方法,重点讲矩阵函数求解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80697.html