线性代数_Part1
1 线性代数基础
1.1 方程组的几何解释基础
本节主要介绍线性代数的基础。首先从解方程开始,学习线性代数的应用之一就是求解复杂的方程问题,本节核心之一就是从row picture(行图像)和column picture(列图像)的角度解方程。
1.1.1 二维行图像
如下所示,一个普通的方程组:
按行将方程组写成矩阵形式:
分别可以记为:
-
系数矩阵(
): 将方程组系数按行提取出来,构造完成的一个矩阵。 -
未知向量(
): 将方程组的未知数提取出来,按列构成一个向量。 -
向量(
): 将等号右侧结果按列提取,构成一个向量。
从行的角度来看,
更确切的讲,如果两条直线相交于一点,那么该方程组有且仅有一个解,即为交点的坐标;如果两条直线重合,那么说明这两条直线方程实际上是同一条直线,此时直线上的所有点的坐标均为方程组的解;如果两条直线平行但不重合,则说明不存在点的坐标同时满足这两条直线的方程,此时方程组无解。
1.1.2 二维列图像
从列图像的角度,再次求解上面的方程,即将方程按列提取,得到的矩阵为:
使用列向量构成系数矩阵,将问题转化为:将向量
是否存在合适的线性组合系数
值得一提的是,从列的角度看待线性方程组是一种非常重要的理解方式,以后会经常用到这样的思想。
对于一般的
即
由此可以看出,矩阵
1.2 线性方程组有解情况
首先考虑对于任意的
又由于
因此也就得出了
特别地,若
1.3 矩阵乘法理解
有了对线性方程组的这些认识,我们可以更好地理解矩阵乘法。
(一) 向量右乘矩阵
首先考虑列向量
则有:
由此可知,从行的角度来看,
下面从列的角度考虑,这是一种非常重要的理解方式。不妨设:
则有:
由此即知,列向量
(二) 向量左乘矩阵
下面考虑行向量
则有:
由此即知,行向量
综上所述,列向量
(三) 矩阵乘以矩阵
对于矩阵与矩阵的乘法,只需把矩阵按行或列分块,即可按上述向量乘矩阵的方式理解。
也即是,矩阵
2 矩阵消元
对于线性方程组:
首先通过消元来简化方程组,再通过回代求得方程组的解。考虑方程组系数矩阵
我们称:
为增广矩阵(augmented matrix)。下面对增广矩阵

其中,方框中框起来的元素1,2,5称为主元(pivot),注意主元不能为0。下面通过回代求得线性方程组的解。
首先由增广矩阵的第3行可知
我们将
下面从矩阵乘法的角度来说明
我们将这个矩阵称为
这就是矩阵消元的乘法表示。
3 矩阵乘法与逆
3.1 矩阵乘法的五种理解方式
3.1.1 定义的角度
设
也即是
3.1.2 列的角度
设矩阵
则:
因此,从列的角度来看,矩阵
3.1.3 行的角度
设矩阵
则有:
因此,从行的角度来看,矩阵
3.1.4 从列乘以行的角度
设矩阵
则有:
由于列向量乘以行向量得到的是一个矩阵,因此从列乘以行的角度来看,矩阵
3.1.5 分块乘法(block multiplication)
矩阵乘法同样可以分块来乘,只要分块的大小能够使乘法有意义即可(分块的大小要相互匹配)如
3.2 矩阵的逆
3.2.1 矩阵逆的定义
如果存在矩阵
如果存在矩阵
3.2.2 判断矩阵是否存在逆
以矩阵
为例,如果从行列式的角度来看,由于
注意到
- 或者我们可以再换一种方式来说明:
如果存在向量 使得 ,那么 不可逆。
这个结论的证明是显然的,假设 可逆,那么 两边同时乘以 ,则得到 ,矛盾,因此 不可逆。
显然,可取 ,则 ,因此,A 不可逆。
3.2.3 求矩阵的逆
利用Gauss-Jordan 消元法,对矩阵
这种方法的原理可以从矩阵线性变换来考虑,初等行变换就是线性变换,其实就是对矩阵
发现矩阵的逆与线性相关/无关、矩阵的秩、矩阵行列式有很多相互关联关系。
4 矩阵的LU分解
从另一种角度来看待Gauss消元(本质上,LU分解是高斯消元的一种表达方式)。
首先考虑没有行交换的情形(也就是主元位置的元素不为0)。对矩阵
以
因此:
记:
则以上两式即为:
而当我们写成
因此,我们只需记录消元所用的乘数,就能快速地确定矩阵
数学家们喜欢0,喜欢1,喜欢对称,
因此,有:
此处
你一定跟我当时一样心中一万匹羊驼在奔腾,觉得折腾这玩意有啥用啊,折腾过来折腾过去,没啥用啊,这么弄的目的是啥嘛,但是当天晚上回家看数值分析的书,刚好也讲这个过程,原来这么做的目的是为了减轻计算,举个例子
这种计算过程在工程应用里非常常见,而且多半时间是 不变,不同的 来解不同的 ,那么按照高斯消元法,每次要从头消元,因为 改变了增广矩阵,但是很多计算是冗余的,所以使用三角矩阵的好处就是可以大大减少冗余计算。
第一步:就是把矩阵分解成 LU 或者 LDU 形式(factor)
第二步:通过回代,把x求出来(solve)
过程(1)(2)并不需要求逆,而是通过回代的过程进行,根据计算时间复杂度(也就是计算量,计算次数),factor的时间复杂度是,solve的时间复杂度大概是 ,如果你对时间复杂度不了解,可以去看《算法导论》的最开始那一章,这个理论还是非常有用的,尤其是对研究算法的童鞋。通过回代而不是消元,能够降低不少多余的计算。
5 转置、置换、空间
5.1 置换矩阵(permutation matrix)
置换矩阵可以用来行行交换。由上一节我们知道,一个矩阵若恰好不需要行变换就能完成
- 置换矩阵的每一行和每一列都恰好有一个1,其余的元素都是0;
- 置换矩阵可由单位矩阵经过行或列交换得到;
- 一个矩阵乘以置换矩阵,相当于对矩阵的行或列进行交换;
- 置换矩阵的性质:
,即置换矩阵都是正交矩阵。 - 由于置换矩阵的每一行都可以看作取自单位矩阵的某一行,因此
维置换矩阵共有 个。
5.2 转置
矩阵
若矩阵
这也是构造对称矩阵的一种方法。
5.3 向量空间
向量空间必须对线性组合封闭,主要是“加法封闭和数乘封闭”。
- 矩阵的列空间
矩阵 的列的所有线性组合构成一个线性空间,称为 的列空间。
6 列空间和零空间
6.1 子空间(Subspace)
设非空集合
设
“子空间”为包含于向量空间内的一个向量空间。它是原向量空间的一个子集,而且本身也满足向量空间的要求。但是“子空间”和“子集”的概念有区别,所有元素都在原空间之内就可称之为子集,但是要满足对线性运算封闭的子集才能成为子空间。
6.2 列空间(Column space)
矩阵
由此可知,线性方程组
显然,列空间是线性空间。(存疑???)
6.3 零空间(Nullspace)
方程组
零空间也是线性空间,因为若
方程组
7 求解 :主变量、特解
以:
为例,对
其中,1、2为主元(每个非零行的第一个非零元素就是主元),1、2所在的列第1列、第3列称为主元列,第2列、第4列称为自由列。主元的个数即为
主元列和自由列的一个重要区别就是,自由列可以表示为其左侧所有主元列的线性组合,而主元列则不可以。具体参考:https://zhuanlan.zhihu.com/p/45815011
设
由于消元不改变方程组的解,因此求解
因此,零空间中的元素为:
进一步简化行阶梯形式,在简化行阶梯形式中,主元上下的元素都为0,且主元都为1。下面我们进一步将矩阵
这样,求解
这一讲有点难以理解,可以多看几遍课程+参考笔记:MIT—线性代数笔记07 求解Ax=0:主变量,特解 - 三少爷的键的文章 - 知乎
8 :可解性及解的结构
8.1 可解的条件 Solvability conditions on b
仍取:
则方程为:
矩阵
检验
可解的条件:如果
8.2 特解A particular solution
求
可解得
8.3 通解Complete solution
为求得
- 与零空间进行线性组合 Combined with nullspace:
即通解为:
将
将
互换后的
再将
这是零空间解的一种简便算法,即通过行变换得到(必要时需要交换列,当然最后还要交换回来)得到
8.4 秩Rank
假设矩阵的shape为
8.4.1 系数矩阵列满秩
零空间
8.4.2 系数矩阵行满秩
每行都有主元,无论
8.4.3 系数矩阵满秩
满秩,矩阵可逆。零空间只有零向量(因为矩阵
8.5 小结

简单来说,
9. 线性无关,基和维度
向量的线性无关意味着什么?如何用线性无关的概念来帮助我们描述包括零空间在内的子空间。
首先我们需要注意的是,线性无关是针对向量组而言的,而不是对矩阵而言的。重要概念:线性无关(线性相关)、张成空间、基、维度。
9.1 复习
假设矩阵
9.2 线性无关 Independence
若
- 思考:零向量和另外一个向量是线性相关还是线性无关呢?
答案是线性相关的。也就是说只要向量组中包含一个零向量,那么一定是线性相关的。
在
此矩阵构成的方程
向量组线性无关等价于将该向量组构成的矩阵
如果矩阵
总结:向量组的线性相关性可转换成计算矩阵的零空间。
9.3 张成空间 Span a space
当一个空间是由向量
如果向量
9.4 基 Basis
向量空间的基是具有如下两个性质的一组向量
线性无关; 张成该向量空间;
在
若以
(一) 子空间的基 Basis for a subspace
向量
(二) 维度 Dimension
空间的每一组基都具有相同的向量数,这个数值就是空间的维度(dimension)。所以
(三) 列空间的基
注意:矩阵具有秩rank而不是维数dimension,而空间有维数而不是秩。当知道了列空间的维数,可以从矩阵列向量中随意选取足够数量的线性无关的向量,它们每一组都可以构成列空间的一组基。其中一组基是第一列与第二列
(四) 零空间的基
本例中矩阵的列向量不是线性无关的,因此其零空间
零空间的维数=自由列的数目=
10 四个基本子空间
10.1 四个子空间 Four subspaces
任意的
10.1.1 列空间Column space
矩阵
10.1.2 零空间 Nullspace
矩阵
10.1.3 行空间 Row space
矩阵
10.1.4 左零空间 Left nullspace
我们称矩阵
10.2 基和维度 Basis& Dimension
10.2.1 列空间
矩阵
10.2.2 零空间
10.2.3 行空间
我们用矩阵
矩阵
为什么
10.2.4 左零空间
左零空间矩阵
为找到左零空间的基,我们应用增广矩阵:
我们将

以行操作的观点来看矩阵
矩阵
10.3 新向量空间 New vector space
所有
- 所有的上三角阵
- 所有的对称阵
- 所有的对角阵
对角阵是前两个子空间的交集,其维度为3,其中一组基为:
矩阵空间的概念参考链接:https://blog.csdn.net/suyimin2010/article/details/90338886
讨论:当最初告诉我说,矩阵的列秩等于主元数,并且主元列构成了列空间的一组基时,其实我是拒绝的。主元这个东西不是行变换消元得来的么,消元过程列空间不是已经改变了么,为什么所得出U的主元数和主元列的位置还能够反映出矩阵A列空间的状态呢?
这里需要说明的是两点,其一是关于秩的定义有很多在数学上等价但是描述差异很大的说法,在这里我们把“秩”理解为行(列)向量中最大的线性无关向量组的向量数即可,在矩阵A行变换消元成梯形阵后,很容易看到行空间内极大无关组之一就是主元所在的那前r行,这r个行向量可以张成行空间,因此行空间的维数与主元数相等都是r,并且前r行构成了行空间的一组基。
但是为什么列空间的维数也是r,并且主元列可以构成列空间的一组基呢?这就是要说明的第二点,初等行变换不会改变列向量的线性相关性。为了叙述方便起见,我们假定矩阵A列向量的极大无关组就是A前r’列的向量(若否可以通过列交换而达成,列交换不会改变线性关系)。
https://zhuanlan.zhihu.com/p/45826349
11 矩阵空间、秩1矩阵和小世界图
11.1 3∗3矩阵空间 3 by 3 matrices
空间
- 所有的上三角阵
- 所有的对称阵
- 所有的对角阵
对于矩阵空间而言,矩阵空间的维度是基矩阵的个数。它的一组基即为多个基矩阵。空间
对称阵构成的子空间
上三角阵构成的子空间
对角阵构成的子空间
显然最终结果并不在两者的并集中。这就如同在
11.2 微分方程 Differential equations
对于给定的微分方程
11.3 子空间的交,和与维数定理
接下来到关键的地方了,建议先阅读《线性代数-线性空间的知识梳理3》中子空间的交、和和维数定理等小节。
接下来我们研究矩阵空间
但若要直接研究
一种方法是通过定义,即
那么可以发现,对于任何一个
所以
另一种方法,为了确定
这个公式中,
这就是维数定理一个很好的应用,有时候直接分析两个子空间的和不容易,那么可以考虑通过维数定理先分别分析这两个子空间,再分析其交,这样就能得到
本小节除了介绍子空间的交,和和维数定理,另一方面是给出线性空间中元素一般性的例子,当然课堂中,老师还讲到了线性微分方程的解空间也是一个线性空间,这里不做具体介绍。
11.4 秩1矩阵
对秩为1的矩阵,也可以进行研究,比如秩为1的矩阵:
我们从行向量的角度分解,可以等价表示为:
我们有所有秩为1的矩阵可以表示为一列乘以一行的形式,即:
之后的学习中,我们会认识到秩1矩阵行列式和特征值都会很简单。再讨论一下几个问题:
11.4.1 问题1
比如,一个
举个简单例子:
通过初等行变换:
所以
由原始
即:
这就将
11.4.2 问题2
但
11.4.3 问题3
我们来看这样一个定义在数域
它是
我们很容易验证它对加法和数乘运算都封闭,所以
那么,这个子空间结构是什么样子,换句话说,它的基和维数又是什么?
观察到
11.5小世界图 Small world graphs
介绍小世界图主要是引出图论和线性代数的联系。
在这里,“图”G是结点和边的集合

此图包含5个结点和6条边,我们可以利用一个
我们可以用图来描述一个实际问题,如果每个人是一个结点,两个人互相认识为一个边,那么整个美国可以以此构成一张大图。我们可以通过这张图来确认两个人之间的最短距离是多少,即两个人需要通过最少几个朋友才能建立联系。G本人和克林顿之间的距离为2,他的一个朋友是参议员,他认识这个参议员朋友,那个人认识克林顿。班里的学生跟克林顿的距离因此不会大于3。还可以继续算希拉里和莱温斯基之间的距离,哈哈。
所谓“六度分割理论”(six degrees of separation)猜想一个人和陌生人之间间隔的点不会超过六个。因此当陌生的两人聊起这种联系都会感叹:“世界真小啊!”这也是“小世界图”这个名字的由来。
12 图、网络、关联矩阵
本讲讨论线性代数在物理系统中的应用。可参考链接为:
12.1 图和网络 Graphs & Networks
图是结点(node)和边(edge)的一个集合。

边线上的箭头代表从结点流出的正方向。上图里包含4个结点,5条边,我们可以将每条边都指定参考方向用于区分正负,比如一个电路网络。在此例子中,将使用电势、回路、电流之类的词汇(当然这个模型还可以表示为液压系统、建筑结构等)。我们通过构造一个incidence matrix关联矩阵来解析这个图的含义。
12.2 关联矩阵(Incidence matrices)
构造一个矩阵来表示图的内在含义,此矩阵称为关联矩阵,图中每个结点代表一列,每边代表一行。则上图为

第1行代表边①,从结点1流出记为-1,从结点2流入记为 1。也就是从结点1流向了结点2。
边①、边②和边③构成了一个回路,称为环(loop)。反映在矩阵上是这三个行向量线性相关。
源于现实问题的关联矩阵,通常描述了问题的结构。如果我们研究一个很大的图,则会构建一个很大的矩阵,但这个矩阵会是稀疏矩阵。
12.2.1 零空间
考察矩阵的零空间,即求
如果
12.2.2 列空间
若求
矩阵的列数为4,而其零空间的维数为1,则矩阵的秩为3,矩阵第1列、第2列和第4列的列向量线性无关。
考察矩阵列空间,一个重要的问题就是对于什么样的
我们沿着第一幅图中的一个环边
所以
12.2.3 左零空间
矩阵的左零空间是满足
其中

我们求解
从图上解方程,而不是采用消元法解方程。如果我们设定
12.2.4 行空间——对应边
考察矩阵的行空间,因为矩阵秩
思考一下维数公式的在“图”中的意义:
- 左零空间维数
- 等价于“环”数量 = “边”数量-(“结点”数量-1)
即Eular公式:
对所有图都成立。

之前的讨论都是针对于一个无源的电场,如果加入电源则情况又不同,例如加入电流源相当于将基尔霍夫定律的方程变为
关于方程
13 习题课1
具体内容参考:MIT—线性代数笔记13 复习一 - 三少爷的键的文章 - 知乎
资料链接:三少爷的MIT笔记,超强数学笔记!!!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战