qr分解求线性方程组_线代笔记(二):线性方程组的三种视角

7f60dc992c74f9c255202d300da4ac50.png

可乐碎碎念

最近一周经历了很多糟心事儿,推送迟迟没有时间写。在分享线性代数笔记之前,先分享一句话:

凡所过往,皆为序章。爱所有人,信任少数人,不负任何人。

这句话出自莎士比亚戏剧《暴风雨》,意思是过去所有的一切都只是未来的序章,余生漫漫,要做到爱所有人,只信任少数人,同时不要辜负任何人。

希望大家都认清生命中什么东西才是最重要的,希望大家天天快乐。

在上一篇线性代数笔记笔记 | 线性代数(一):矩阵的静态和动态理解中,主要分享了对矩阵的两种理解方法,静态上可以理解成多个点的坐标,动态上则可以理解成是一个转移矩阵,进而说明了以下五点论断:

1. 线性代数的核心是向量空间和线性映射

2. 矩阵可以用来封装数据(静态),也可以用来进行线性变换(动态)

3. 秩是线性变换后向量空间的维度

4. 行列式是线性变换后基向量张成的面积

5. 特征向量是线性变换后仍在同一条直线上的向量,特征值是这些特征向量伸缩的程度

今天来分享对线性方程组的一些理解。根据维基百科的介绍,线性代数的研究最初出现在对行列式的研究上,而行列式当时就是被用来求解线性方程组的。

整篇文章围绕以下三个角度理解线性方程组,并在一些关键点上进行拓展。如有错误欢迎批评指正。预计阅读时间10分钟,希望大家有所收获。

1. 横看线性方程组:

每一行对应一个超平面,求解方程组等价于求解所有超平面的公共点。

这样看的好处在于求解方便,直接利用高斯消元法即可;

2. 纵看线性方程组:

每一列对应一个向量,求解方程组等价于求线性组合的表出系数。

这样看的好处在于容易理解非齐次和齐次解的关系,即非齐次的通解=齐次的通解+非齐次的特解;

3. 从线性变换的角度看线性方程组:

A为线性变换,b为变换后的向量,求解方程组等价于反推变换前的向量。

这样看的好处在于容易理解解存在的条件,比如齐次线性方程组存在非零解<=>矩阵不满秩<=>行列式等于零。

一、铺垫

1. 向量与向量的内积

内积(点积,dot product),从代数角度看,就是两个向量对应元素乘积之和,即

;从几何角度看,就是两个向量的长度与它们夹角余弦的乘积,即

2. 矩阵和向量相乘

矩阵和向量相乘,有三种理解方式。

  1. 从行的角度可以理解为矩阵A的每一行与
    做内积;
  2. 从列的角度可以理解为矩阵A的每一列的线性组合,系数就是
    的每个元素;
  3. 另外,根据上篇笔记的知识,从矩阵就是线性变换的角度,
    可以理解成对
    做线性变换。

3. 二元一次线性方程组

以最简单的二元一次线性方程组为例,

这个方程组的系数矩阵为

,增广矩阵为

对这个方程组,可以从三个角度看,

9edc027b68571357c82c1b6de35217a8.png

接下来就从这三个角度分别进行展开。

二、横看线性方程组

1. 横看线性方程组的好处是求解变得非常容易

横看线性方程组,就是从行的角度看,或者说从几何的角度看,可以将求解方程组理解为:给定几个超平面,求解这些超平面的公共点。

从这个角度思考的好处在于,求解线性方程组变得非常容易。

具体而言,利用高斯消元法(Gaussian elimination),对方程组进行三种初等变换(两行对换、某行乘以常数k、某行的k倍加到另一行上),将方程组换成很简洁的阶梯形式,然后再一步步求出每个变量的值。

或者更进一步地利用高斯-约尔当消元法,将方程组转变为更简洁的最简形式。

为了便于说明,用增广矩阵的形式进行消元,以

为例,高斯消元法和高斯-约尔当消元法的结果分别为:

高斯消元法将增广矩阵转变成了类似于上三角矩阵的形式,对应的系数矩阵变成了上三角矩阵;高斯-约尔当消元法更进一步地将系数矩阵转变成了单位阵的形式。

如此一来,原方程组就变成了

的形式,这个方程组和一开始的方程组是等价的,而求解起来则要直观得多。

2. 为什么高斯消元法对方程组的解没有影响呢?

可以从几何意义上理解:

高斯消元几何意义两行交换位置两条直线交换位置一行乘以常数倍还是原来的直线把一行的常数倍加到另一行上变为过原来两条直线交点的另一条直线

还是刚刚的例子,画出图就可以很直观地看出高斯消元法是没有改变方程组的解的。

98f6b38a877c1ad4216e690c57700a5c.png

3. 高斯消元法与矩阵LU分解

再来看点更有意思的。高斯消元法实际上是通过一个个简单的线性变换将原来的矩阵一步步变为阶梯形矩阵。这些简单的线性变换叫做初等行变换,而且都是下三角矩阵。

也就是说高斯消元法可以表示成:

,其中
就是初等行变换,
就是阶梯型矩阵。

比如刚刚的例子,对系数矩阵进行两次初等行变换就可以将它转变成上三角阵:

因为下三角乘以下三角依然是下三角,下三角的逆矩阵也是下三角,所以

,从而将矩阵A分解为一个下三角矩阵与一个阶梯型矩阵的乘积,这就是矩阵的LU分解(LU factorization)

LU分解可以让线性方程组的求解变得非常容易。因为

,所以
就可以表示成
,于是就可以将原来的问题转变成如下两个问题:

因为L和U都是三角的,所以求解十分容易。

三、纵看线性方程组

1. 纵看线性方程组的好处是更容易理解齐次和非齐次方程组解的关系

纵看线性方程组,就是从列的角度看,将矩阵的每一列看成一个向量,从而可以用“线性组合”的思想考虑线性方程组

:给定矩阵A的每个列向量,求表出系数,使得这些列向量可以线性表出

从这个角度思考的好处在于,可以理解齐次线性方程组与非齐次线性方程组解的关系。

2. 非齐次的通解=特解+齐次的通解

齐次线性方程组,就是

时的特殊情况。对于齐次方程组来说,方程组
如果存在非零解,就会存在一个解空间,因为解向量的线性组合也是方程组的解。这个解空间的一组基就是方程组的一组基础解系,记作
,基础解系的任意线性组合就构成方程组的通解,记为

非齐次线性方程组就是在齐次的基础上加上了

,从线性组合的角度思考,可以很容易理解非齐次的解的结构。
可以分解为两部分,
,前半部分可以表示成一个线性组合,记作
,后半部分可以表示成另一个线性组合,也就是
。这里的
称为非齐次线性方程组的特解。

因此,非齐次方程组的通解 = 非齐次方程组的特解 + 齐次方程组的通解。

所以,对于非齐次方程组来说,如果找到了一组特解

使得
,那么
一定也是方程组的解,因为

四、从线性变换的角度看线性方程组

1. 从线性变换角度看的好处是更容易理解解存在的条件

从线性变换的角度看线性方程组,也就是将“矩阵是线性变换”的思想融入对线性方程组的理解中,从而将求解

理解为:给定线性变换以及变换后的向量,求解变换前的向量。

从这个角度思考的好处在于,理解解存在的条件会非常容易。

先简单回顾一下相关线性变换的知识:

  1. 对向量空间做线性变换等同于对基向量做变换,矩阵的每一列就对应的是线性变换后的基向量坐标。
  2. 矩阵的秩就是线性变换后向量空间的维度,矩阵的行列式就是线性变换后基向量张成的面积
  3. 矩阵不满秩<=>行列式为零<=>矩阵是降维变换<=>矩阵不可逆

2. 齐次线性方程组存在非零解<=>矩阵不满秩<=>行列式等于零

齐次线性方程组就是

时的特殊情况,存在非零解就相当于存在一个线性变换,使得原来的向量压缩成零向量,换句话说,就是从高维变换为低维。

所以如果存在非零解,就意味着矩阵不满秩,或者说行列式等于零。

3. 方阵:非齐次线性方程组只有唯一解<=>矩阵满秩<=>行列式不为零

非齐次线性方程组比较复杂,这里以方阵

为例,如果不是方阵,那么通过补零使得行和列数量相等就变成了方阵,然后将零看成该维度的基向量长度为零就行了。

如果方阵A是满秩的,就意味着是同维度变换,变换后的基向量不共线,这样的话,无论

是啥,都可以有唯一解。

73d88935b682cf88d5f0c1f6131e2f8b.png

如果方阵A不是满秩的,就意味着变换后的基向量被压缩到低维了,这样的话,如果

的位置,那么肯定不能被新的基向量表出,所以就无解;如果
的位置,就会有无穷多解,因为这时候
无论取什么值,都可以表示出

9f6cfcd8db772596a29b22e97bf6bf98.png

也就是说:

  1. 系数矩阵满秩:有唯一解
  2. 不满秩且系数矩阵的秩<增广矩阵的秩:无解
  3. 不满秩且系数矩阵的秩=增广矩阵的秩:无穷解

4. 非方阵:需要区分列满秩和行满秩

如果行满秩,意味着A的秩与向量

的维数是一样的,同时存在一个自由变量,也就是说,在二维空间中,用三个基来表示一个向量,所以一定是无穷解。

1ef0e9d4e7315a65318e98bce742cde1.png

如果列满秩,则存在两种情况,如果

恰好落在A的列空间中,那么就有唯一解,否则无解。

1101bbb4d7bd56e8dcc4474cd600c4ba.png

如果行列都满秩,或者都不满秩,就类似于方阵中的讨论,不再赘述。

综上,非齐次线性方程组

解的判定定理可以表述为:
  1. rank(A) = n = m 时,有唯一解;
  2. rank(A) = m < n 时,有无穷多解;
  3. rank(A) = n < m 时,无解或唯一解;
  4. rank(A) < n 且 rank(A) < m时,无解或无穷解。

四、总结

线性方程组从不同的角度看就有不同的理解,实际应用起来怎么方便就怎么来。

另外,通过高斯消元法对矩阵进行LU分解,或者利用施密特正交化或Householder变换对矩阵进行QR分解,都可以将求解过程变得更加简便。在计算机中就是先分解系数矩阵,然后再求解方程组的。

最后推销一下我的个人公众号:可乐学人。目前有三大板块:

1. “温故”是我自己整理的笔记,比较系统,大部分是金融学的笔记,以后会慢慢更新一些数学、编程、区块链的学习笔记。

2. “知新”是我学习新知识的地方,比较杂碎,试图基于广泛的学科中最精华的理论形成查理芒格提倡的普世智慧,目前有宏观经济、比特币、爬虫等知识。

3. “心动”是我停下来品味生活的地方,会分享一些喜欢的诗歌和文章,也会写一些自己的所思所想。

欢迎关注~

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值