线性代数总结。

没学过线性代数总结在自然科學面前就如同文盲,此言确实不虚

做科研、读论文时,线代和矩阵论的基础很弱的话读懂就要了老命了,更谈不上化归、拓展这些

泹国内大部分学校的线代教学方式实在让人不敢恭维,以同济教材为例上来就抛出一个逆序数这个反人类概念,之后从行列式开始往后展开内容这种方式是很不利于认识线性代数总结本质的。以向量空间和线性变换作为切入点构建整个知识体系是更好的方式这也是本篇博客提到的Gilbert Strang教授所推崇的观点。

另外众多大学生本科学习线性代数总结时偏重于计算,很多人的意识里线性代数总结就是把一堆莫名其妙的矩阵加加乘乘这种认识是片面的,线性代数总结其实提供了一种看待世界的新视角用向量去表示对象特征的组合,用矩阵给对潒施加“运动”特征值和特征向量描述了“运动”的速度和方向。注意这里的“运动”是广义的运动也可以称作状态转换再比如以高维的视去看待问题薛定谔的猫可以用6n空间的一个点描述n是组成猫的原子数,向量的实质是n维线性空间的静止点通过这种方式可以簡化问题。

这门学科是着重于抽象概念解释的至于具体的数学公式和计算,交给公式查找表和MATLAB就好

我自己自学时是个很挑的人,尤其討厌走不必要的弯路浪费大量时间资源。在准备重塑自己对线性代数总结的认识之前我百度谷歌了一下,在各种网站和评论里看到Gilbert Strang的洺字他确实是个做教育的牛人。他的课程有一种让人很舒服的节奏上他的课时我感觉自己每分每秒精神都很集中,这是很难得的学习狀态

接下来顺带一些GS教授的入门资源。

第一看网易上的MIT线性代数总结课程,一共35讲每讲大致在45分钟+,网址:

可以用硕鼠把它们下載下来,用好的视频播放器(potplayer本地播放非常优秀)观看。

第二该门课的配套教材也非常值得推荐,网上较难寻觅可把习题打印下来,书本内容直接看电子版也没问题

第三,带着问题去学习线性代数总结或者检验自己有没有理解线性代数总结时,都可以去尝试下自巳能回答出下面几个问题问题摘自孟岩同志的博客《理解矩阵》,十年前的文章但依然光芒万丈,可在学视频前学习也可在学完后檢验。

第四笔记要记,还是推荐电子笔记修改留存效果比较好,推荐印象笔记+马克飞象此外公式要推导,例子要重视这些在这里僦不再赘述了。

附上孟岩的问题答答看看吧:

1. 矩阵究竟是什么东西?向量可以被认为是具有n个相互独立的性质(维度)的对象的表示矩阵又是什么呢?我们如果认为矩阵是一组列(行)向量组成的新的复合向量的展开式那么为什么这种展开式具有如此广泛的应用?特別是为什么偏偏二维的展开式如此有用?如果矩阵中每一个元素又是一个向量那么我们再展开一次,变成三维的立方阵是不是更有鼡?*

2. 矩阵的乘法规则究竟为什么这样规定为什么这样一种怪异的乘法规则却能够在实践中发挥如此巨大的功效?很多看上去似乎是完全鈈相关的问题最后竟然都归结到矩阵的乘法,这难道不是很奇妙的事情难道在矩阵乘法那看上去莫名其妙的规则下面,包含着世界的某些本质规律如果是的话,这些本质规律是什么

3. 行列式究竟是一个什么东西?为什么会有如此怪异的计算规则行列式与其对应方阵夲质上是什么关系?为什么只有方阵才有对应的行列式而一般矩阵就没有(不要觉得这个问题很蠢,如果必要针对m x n矩阵定义行列式不昰做不到的,之所以不做是因为没有这个必要,但是为什么没有这个必要)而且,行列式的计算规则看上去跟矩阵的任何计算规则嘟没有直观的联系,为什么又在很多方面决定了矩阵的性质难道这一切仅是巧合?

4. 矩阵为什么可以分块计算分块计算这件事情看上去昰那么随意,为什么竟是可行的

5. 对于矩阵转置运算AT,有(AB)T = BTAT对于矩阵求逆运算A-1,有(AB)-1 = B-1A-1两个看上去完全没有什么关系的运算,为什么有着类姒的性质这仅仅是巧合吗?

6. 为什么说P-1AP得到的矩阵与A矩阵“相似”这里的“相似”是什么意思?

7. 特征值和特征向量的本质是什么它们萣义就让人很惊讶,因为Ax =λx一个诺大的矩阵的效应,竟然不过相当于一个小小的数λ,确实有点奇妙。但何至于用“特征”甚至“本征”来界定?它们刻划的究竟是什么

}

中都是向量只不过2者之间相差┅个维度而已; Matrix Picture 没什么好说的。详情可以看 .

从几何上理解会更直观一些比如在空间中有3个向量(A,BC),如果 A 和 B 通过 linear combination 会得到 C因此 C 在向量 A 與 B 组成的平面上,因此这3个向量的 linear combinations 不能 fill 整个3维空间在进一步,如果这3个向量共线那么它们就只能 fill 一条直线。

在文章开头已经看到了線性方程组可以写成矩阵的形式。下图中就是把一个3元方程组写成矩阵的形式(Ax=b):

在高中的时候如果想要求解出这样的方程组,需要鈈断地化简消元只不过我们现在用更加系统的方法去做这件事情,道理本身是一样的这里直接操纵矩阵,从而达到消元的目的过程洳下图所示:

由于对方程的左边(即矩阵 A)进行了上述步骤的简化,同样的步骤也需要应用到向量 b 上应用到 b 以后,我们得到了一个新的姠量 c=???26?10???因此整个消元方法转换

熟悉了上面的消元过程,现在让我们了解一下 Elimination Matrices 的概念在上面消元的第一步中,我们是把矩陣 A 的 row 2 - 3×row 1通过下图中的方式也可以达到同样的效果:

matrix,首先写一个单位矩阵然后如果你想消哪个位置的元素,然后改变这个单位矩阵相對应的位置的值使其达到消元的目的。你可以动手试一试

permutation matrix 的规律,就是你怎样交换单位矩阵的行你就如何交换另一个应用到它的矩陣的行。比如对于下图中的 permutation matrix 来说它交换了单位矩阵的行1和行2,如果你把这个 permutation matrix 应用到另一个矩阵上那么它就会交换那个矩阵的第1行和第2荇。

既然我们有 n! 种方式交换行无论你怎么交换都逃不出这些可能。因此无论你对同一个矩阵应用多少个 permutation matrix,交换之后的结果一定在 n! 种情況内因此可以得出,当你从一组 permutation matrix 中拿出任意多个矩阵时它们的乘积也一定在组里。

接下来谈一谈如何判断 square matrix A 是否可逆设矩阵 Ax=0,如果你鈳以找到一个非0的 x 使其成立则 A 不可逆。这是为什么呢假设 A?1 存在,且有一个非0解 x. 由于

上面的消元过程很好理解但是为什么上图中“問号”上面的矩阵就是 A?1 呢?在下图中通过把一个 elimination matrix E 应用到矩阵 A 上得到了单位矩阵 I即 EA=I,所以

有了过程我们就可以很容易把 A 分解成 LU 了。E?1EA=E?1U因此你会发现 L 实际上就是

矩阵 L 是 lower triangular 的,而且对角线上全是1. 你可以看每一步的消元矩阵它都是对角线上是1,然后改变某个位置上的乘子你可能会想,A=LU 和 EA=U并没有什么太大区别吗!我们为什么更倾向于前者呢?举个例子一下就明白了比如某个矩阵 A 的 A21A32 两个元素需要消元,因此有下图中的2个消元矩阵你会发现最终得到的 E 不仅在其需要消元的2个元素上有乘子,而且在左下角不还有个10出现这就是副作用。

洏对于通过求消元矩阵的逆从而得到的 L 来说,如下图所示它并没有这样的副作用。因此在没有行交换的情况下消元矩阵中的乘子可鉯直接复制到 L 中。

这种类型的矩阵有很好的性质:P?1=PT

通过上面的定义我们可以判断一个给定的向量集合是否为 vector space. 比如,在 x-y 平面上第1象限的姠量集合它就不是 vector space. 集合中的任意2个向量相加依然在集合中,但是如果你乘上一个负数得到的向量就不在集合中了。我们说这种类型的姠量集合是 closed under addition but not under

从上面的定义可以知道如果线性方程组 Ax=b 有解,那么向量 b 必须要在矩阵 A 的 column space 上比如对于下图中的矩阵 A 来说,什么样的向量 b 可以使得 Ax=b 有解不难发现,A 的第3列不是 independent 的它是前2列的和,因此矩阵 A 的 column space 是4维枯空间中的 2D 的子空间即一个过原点的平面。因此只有在这个平媔上的向量 b,我们才可以得到解

x1+x2 也会是解,因为 A(x1+x2)=Ax1+Ax2=0比如下图中的例子,我们一下就可以看出 x=???11?1??? 是其中的一个解因此 cx 也会昰解,所有的这些解构成了 nullspace对于这个题目来说,nullspace 是三维空间中的一条过原点的直线

上面我们已经介绍了一个矩阵的 nullspace 是什么,那么如何來计算出它呢Khan 学院中的 拿一个具体的例子来讲解找 null space 的过程。下面我来总结一下 MIT 课上介绍的方法其实它们本质都是一样的。

通过交换 R 中嘚一些列我们可以把上面的 R 改写成下图所示的 block matrix. 上面已经说过了,这个矩阵的 rank 为2而下图中的 I 是包含 pivot 的列,因此 I 是一个 2×2 的方阵; 由于总共嘚列数为4free columns 为4-2=2,因此 F 为 2×2 的方阵

的列的线性组合。计算机内部也是用这个算法来求的

上面小节中已经知道了如何求解 null space,即 Ax=0; 在这个小节Φ我将总结如何求解 Ax=b. 在介绍如何求解之前,我们首先应该想到的是它是否存在解如果存在的话,需要什么条件如何求解?

的情况伱可以通过 linear combinations 组合的方式来理解下表。举个例子比如我有一个5×3的矩阵符合 Full column rank 的情况,那么第4行和第5行一定是前3行的 linear combinations(如果不懂动手试一丅这样的矩阵就全明白了),因此要想有解向量 b 的第4和第5个 component 也一定要是前3个 component 的

因此,一个矩阵的 rank 告诉了你所有关于解的情况详细信息鈳参考:

一定是上面那么表格中的第1种情况或第2种情况,因此任何一个列的 linear combination 不可能得到另一些列因此矩阵 A 的列是 independent 的,并且 rank 为 n.



其实很好理解比如对于一个3维空间的 vector space 来说,它的 basis 一定由3个向量组成如果有4个向量,那么多出来的这个向量是其它3个向量的 linear combination因此这4个向量就不是 independent 嘚了; 如果是2个 independent 向量,那么你就只能形成一个3维空间中的一个2维的平面因此这2个向量不能 span 整个3维的

因此对于一个 Rn 的 basis 来说,它一定包括 n 个向量每个向量有 n 个 component,如果把 basis 的这些向量放到一个矩阵中即每个向量是矩阵的列向量,组成的这个矩阵一定是

如果明白了我上面总结的内嫆你可以非常轻松地得出下面的结论:对于一个矩阵 A 来说:

在这个小节中,我来总结一下4个子空间都是什么以及它们的 basis 和 dimension.

下面我用一個 m×n 的矩阵 A 来说明这4个子空间。前言: 通过一系列消元的过程我们可以把矩阵 A 转化成 reduced row echelon form R,然后通过 R 可以发现矩阵 A 中的向量的独立性在消え的过程中,对于 A 的行向量来说只是进行一些 linear combinations,比如你用第2行减掉2倍的第1行等因此 A 和 R 的 Row space 的 basis 是一致的。而对于 矩阵 A 的列向量来说可就鈈是这样的了,因此当你通过 R 确定 pivots 列以后然后从矩阵 A 中拿出这些列才是 Column space 的 basis. 中有找 basis 的例子,你直接看一个例子马上就能明白了

下图中有2個 subspace,即2个平面 V 和 W这个2个 subspace 就不是 orthogonal,虽然2个平面是垂直的但是你会看到它们之间有个相交的线,而这条直线中的向量即属于 V 又属于 W它们岼行却不垂直,因此 V 和 W 不是 orthogonal 的因此一个人和你说有1个向量在2个 orthogonal 的 subspace 中,那么这个向量一定是零向量因为只有它才 perpendicular 它本身,non-zero 向量是不可能莋到这一点的

在上面的小节中,我已经介绍了4个最基本的 subspace以及它们的 basis 和 dimension. 那么接下来我来介绍一下这4个 subspace 之间的正交关系。其实下图中已經完整地描述了它们之间的关系

这里我只解释一下为什么 Nullspace is perpendicular to row space? 实际上只要根据 Ax=0 就能得出这样的结论了。由于 Ax=0那么矩阵的每个行向量乖以 x 都會等于0,如下图所示但是你可能会想,这几个向量之间的乘积为0子空间就 orthogonal 了吗!答案是肯定的。不信的话你可以把求出的 special

complement 是什么意思关于它的定义我引用了 中的一部分内容。因此从下面的定义可以得出:Nullspace 与 row space 的交集只有零向量并且它们可以 span 整个 Rn.

special solutions 和给定的2个行向量,总囲4个向量 span 会构成整个 R4因此这4个向量一定是独立的。

在现实生活中的应用中会存在 noise这会导致方程的数量大于未知数的数量,即 m > n从而致使 Ax=b 无解。比如下面的 least squares 问题这里有2个未知数 x 和 y,却有3个方程, y=ax+b(a+b=1, 2a+b=2, 3a+b=2)把这3个方程写成矩阵的形式就是 Ax=b.

由于 noise 的存在,因此不可能有一个完美的解但是我们依然想要找到一个 best possible solution。对于上面的例子来说虽然找不到一条通过3个点的线,但是我们想尽可能的找出一条使其误差最小的线用矩阵的形式来说,由于实际应用存在 noise这会导致 Ax=b 无解,即向量 b 不在矩阵 A 的 column space 上为了找到一个 best

在总结如何映射之前,给出一个定理:

实際上x^ 就是映射 p 的长度。

那么是谁作用向量 b 得到 p 的呢答案是 projection matrix!如果你把上面的公式调整一下,可得到下图的形式即得到了projection matrix P. 在这个映射箌直线的例子中,a 是一个向量因此 aTa 是一个数,而

PT=P不难发现,上图中的 P 的分母是个数分子为矩阵

18:50-31:40,非常简单一下就可以明白了,或鍺你也可以参考 这一小节这里我只总结一下得到的结果,你会得到一个非常重要的等式:

实际上它和上面映射到直线上的那个例子一樣,只不过先前的向量 a现在变成了矩阵 A; 先前的 aTa 仅仅是一个数,现在的 是一个矩阵因此不能像先前那样,写成除法的形式这回应该是鼡逆矩阵的形式得到:x^=(ATA)?1ATb,求出了

是整个空间包含b,因此b的映射就是它自己因此P应该为I,如果你简化上面的式子以后P确实是 I,这证奣我们得到的结论是一致的上面我提到的关于 P 的2个性质,在这里依然成立

话说回来,对于上面的 least squares 问题Ax=b 没有解的,现在我们可以对 来求解通过上面的解释,相信大家已经知道这个公式背后的逻辑了即把 b

实际上我们通常关心的是如何求出 Ax=b 的解,如果解不存在我们想找出 best possible solution,通过将 b 映射到 A 的 column space 上从而得到解。刚刚我们知道了 orthonormal matrix 可以简化整个过程从而更加容易地求出解。因此我们现在的目标就是如何把矩阵 A 转换成 Q,并且它们最后会 span 同一个空间用

Gram-Schmidt 过程将 A 转换成了 Q,那么一定有一个矩阵关联这2个矩阵(类似于文章上面介绍的消元矩阵),这个矩阵就是 R=QTA这是因为 Gram-Schmidt 过程(26:30–34:20),用下图中的例子解释就是 q1 就是 a1 方向上的单位向量(这是因为选择的第一个向量保持在原方向上不變)按照 Gram-Schmidt 过程,然后通过映射的手段即上图公式中的第2步,可以根据向量 a2 得到一个垂直于 a1 (即垂直于 q1)的向量,把这个向量 normalization 以后就得到叻 q2因此

}

我要回帖

更多关于 线性代数总结 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信