概述
可乐碎碎念
最近一周经历了很多糟心事儿,推送迟迟没有时间写。在分享线性代数笔记之前,先分享一句话:
凡所过往,皆为序章。爱所有人,信任少数人,不负任何人。
这句话出自莎士比亚戏剧《暴风雨》,意思是过去所有的一切都只是未来的序章,余生漫漫,要做到爱所有人,只信任少数人,同时不要辜负任何人。
希望大家都认清生命中什么东西才是最重要的,希望大家天天快乐。
在上一篇线性代数笔记笔记 | 线性代数(一):矩阵的静态和动态理解中,主要分享了对矩阵的两种理解方法,静态上可以理解成多个点的坐标,动态上则可以理解成是一个转移矩阵,进而说明了以下五点论断:
1. 线性代数的核心是向量空间和线性映射
2. 矩阵可以用来封装数据(静态),也可以用来进行线性变换(动态)
3. 秩是线性变换后向量空间的维度
4. 行列式是线性变换后基向量张成的面积
5. 特征向量是线性变换后仍在同一条直线上的向量,特征值是这些特征向量伸缩的程度
今天来分享对线性方程组的一些理解。根据维基百科的介绍,线性代数的研究最初出现在对行列式的研究上,而行列式当时就是被用来求解线性方程组的。
整篇文章围绕以下三个角度理解线性方程组,并在一些关键点上进行拓展。如有错误欢迎批评指正。预计阅读时间10分钟,希望大家有所收获。
1. 横看线性方程组:
每一行对应一个超平面,求解方程组等价于求解所有超平面的公共点。
这样看的好处在于求解方便,直接利用高斯消元法即可;
2. 纵看线性方程组:
每一列对应一个向量,求解方程组等价于求线性组合的表出系数。
这样看的好处在于容易理解非齐次和齐次解的关系,即非齐次的通解=齐次的通解+非齐次的特解;
3. 从线性变换的角度看线性方程组:
A为线性变换,b为变换后的向量,求解方程组等价于反推变换前的向量。
这样看的好处在于容易理解解存在的条件,比如齐次线性方程组存在非零解<=>矩阵不满秩<=>行列式等于零。
一、铺垫
1. 向量与向量的内积
内积(点积,dot product),从代数角度看,就是两个向量对应元素乘积之和,即
2. 矩阵和向量相乘
矩阵和向量相乘,有三种理解方式。
- 从行的角度可以理解为矩阵A的每一行与
做内积;
- 从列的角度可以理解为矩阵A的每一列的线性组合,系数就是
的每个元素;
- 另外,根据上篇笔记的知识,从矩阵就是线性变换的角度,
可以理解成对做线性变换。
3. 二元一次线性方程组
以最简单的二元一次线性方程组为例,
这个方程组的系数矩阵为
对这个方程组,可以从三个角度看,
接下来就从这三个角度分别进行展开。
二、横看线性方程组
1. 横看线性方程组的好处是求解变得非常容易
横看线性方程组,就是从行的角度看,或者说从几何的角度看,可以将求解方程组理解为:给定几个超平面,求解这些超平面的公共点。
从这个角度思考的好处在于,求解线性方程组变得非常容易。
具体而言,利用高斯消元法(Gaussian elimination),对方程组进行三种初等变换(两行对换、某行乘以常数k、某行的k倍加到另一行上),将方程组换成很简洁的阶梯形式,然后再一步步求出每个变量的值。
或者更进一步地利用高斯-约尔当消元法,将方程组转变为更简洁的最简形式。
为了便于说明,用增广矩阵的形式进行消元,以
高斯消元法将增广矩阵转变成了类似于上三角矩阵的形式,对应的系数矩阵变成了上三角矩阵;高斯-约尔当消元法更进一步地将系数矩阵转变成了单位阵的形式。
如此一来,原方程组就变成了
2. 为什么高斯消元法对方程组的解没有影响呢?
可以从几何意义上理解:
高斯消元几何意义两行交换位置两条直线交换位置一行乘以常数倍还是原来的直线把一行的常数倍加到另一行上变为过原来两条直线交点的另一条直线
还是刚刚的例子,画出图就可以很直观地看出高斯消元法是没有改变方程组的解的。
3. 高斯消元法与矩阵LU分解
再来看点更有意思的。高斯消元法实际上是通过一个个简单的线性变换将原来的矩阵一步步变为阶梯形矩阵。这些简单的线性变换叫做初等行变换,而且都是下三角矩阵。
也就是说高斯消元法可以表示成:
比如刚刚的例子,对系数矩阵进行两次初等行变换就可以将它转变成上三角阵:
因为下三角乘以下三角依然是下三角,下三角的逆矩阵也是下三角,所以
LU分解可以让线性方程组的求解变得非常容易。因为
因为L和U都是三角的,所以求解十分容易。
三、纵看线性方程组
1. 纵看线性方程组的好处是更容易理解齐次和非齐次方程组解的关系
纵看线性方程组,就是从列的角度看,将矩阵的每一列看成一个向量,从而可以用“线性组合”的思想考虑线性方程组
从这个角度思考的好处在于,可以理解齐次线性方程组与非齐次线性方程组解的关系。
2. 非齐次的通解=特解+齐次的通解
齐次线性方程组,就是
非齐次线性方程组就是在齐次的基础上加上了
因此,非齐次方程组的通解 = 非齐次方程组的特解 + 齐次方程组的通解。
所以,对于非齐次方程组来说,如果找到了一组特解
四、从线性变换的角度看线性方程组
1. 从线性变换角度看的好处是更容易理解解存在的条件
从线性变换的角度看线性方程组,也就是将“矩阵是线性变换”的思想融入对线性方程组的理解中,从而将求解
从这个角度思考的好处在于,理解解存在的条件会非常容易。
先简单回顾一下相关线性变换的知识:
- 对向量空间做线性变换等同于对基向量做变换,矩阵的每一列就对应的是线性变换后的基向量坐标。
- 矩阵的秩就是线性变换后向量空间的维度,矩阵的行列式就是线性变换后基向量张成的面积
- 矩阵不满秩<=>行列式为零<=>矩阵是降维变换<=>矩阵不可逆
2. 齐次线性方程组存在非零解<=>矩阵不满秩<=>行列式等于零
齐次线性方程组就是
所以如果存在非零解,就意味着矩阵不满秩,或者说行列式等于零。
3. 方阵:非齐次线性方程组只有唯一解<=>矩阵满秩<=>行列式不为零
非齐次线性方程组比较复杂,这里以方阵
如果方阵A是满秩的,就意味着是同维度变换,变换后的基向量不共线,这样的话,无论
如果方阵A不是满秩的,就意味着变换后的基向量被压缩到低维了,这样的话,如果
也就是说:
- 系数矩阵满秩:有唯一解
- 不满秩且系数矩阵的秩<增广矩阵的秩:无解
- 不满秩且系数矩阵的秩=增广矩阵的秩:无穷解
4. 非方阵:需要区分列满秩和行满秩
如果行满秩,意味着A的秩与向量
如果列满秩,则存在两种情况,如果
如果行列都满秩,或者都不满秩,就类似于方阵中的讨论,不再赘述。
综上,非齐次线性方程组
- rank(A) = n = m 时,有唯一解;
- rank(A) = m < n 时,有无穷多解;
- rank(A) = n < m 时,无解或唯一解;
- rank(A) < n 且 rank(A) < m时,无解或无穷解。
四、总结
线性方程组从不同的角度看就有不同的理解,实际应用起来怎么方便就怎么来。
另外,通过高斯消元法对矩阵进行LU分解,或者利用施密特正交化或Householder变换对矩阵进行QR分解,都可以将求解过程变得更加简便。在计算机中就是先分解系数矩阵,然后再求解方程组的。
最后推销一下我的个人公众号:可乐学人。目前有三大板块:
1. “温故”是我自己整理的笔记,比较系统,大部分是金融学的笔记,以后会慢慢更新一些数学、编程、区块链的学习笔记。
2. “知新”是我学习新知识的地方,比较杂碎,试图基于广泛的学科中最精华的理论形成查理芒格提倡的普世智慧,目前有宏观经济、比特币、爬虫等知识。
3. “心动”是我停下来品味生活的地方,会分享一些喜欢的诗歌和文章,也会写一些自己的所思所想。
欢迎关注~
最后
以上就是单薄云朵为你收集整理的qr分解求线性方程组_线代笔记(二):线性方程组的三种视角的全部内容,希望文章能够帮你解决qr分解求线性方程组_线代笔记(二):线性方程组的三种视角所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复