跳转至

线性代数

相对于微积分而言,线性代数的版本要少很多,除数学专业和行健书院的同学外大多数同学都差不多。线性代数相对于微积分而言,理论和应用、计算的割裂并没有那么大,计算的过程和理解本身需要足够的理论知识来支撑。线性代数的曾用名应该是“线性代数与几何”,因为线性代数本身的理解拥有很多的几何背景(包括传统的空间几何和比较抽象的“几何”,即描述空间性质和对象),但目前使用的两套主流教材大都更偏代数一些,对于线性空间、子空间、直和分解这些内容涉及的并不算多。线性代数并不像微积分那样有明确的学习路线,可以采用启发式的学习路线(我们要解方程——用矩阵解方程——研究矩阵——解方程的本质——其他),也可以用从抽象到具体的学习路线(线性空间——矩阵表示——用矩阵研究线性空间的东西,即解方程——其他),涉及的范围也相对模糊(比如我知道有些老师讲的偏几何一些,会讲很多上面说的内容;有些老师就更代数一些,会讲很多矩阵论的东西),所以推荐大家博采众长,从不同的角度切入线性代数,会有更加深刻的认识。同时,线性代数同数学系开设的《高等线性代数》的差距并不和微积分和数学分析的差距那么大,同学们也可以参考高等线性代数的教材来弥补线性代数教材在几何方面的缺漏。

第零章

之所以这么起是因为线性代数相较于微积分的思维跨度有些大,如果想获得较好的学习体验,推荐自己把以下知识补一补(如果老师不讲的话):

​ 1. 数学归纳法、反证法等数学证明方法的简单运用和掌握

​ 2. 数域的定义,常见数域

​ 3. 映射的定义,包括单射、满射、双射等

​ 4. 简单的空间解析几何

这些都是和线性代数本身关系不直接、但是会始终用到的东西,大家学过的话会舒适很多。

线性空间

线性代数所涵盖的线性空间相对来说研究的都是比较具体的向量空间,因此学习时可以采用很多几何直观的方法(虽然三维以上没法画图,但很多关系其实还是很好想象的)。但在线性代数学习线性空间的主要目的是为了理解一些在矩阵和方程的解理论中常用的空间(比如行列空间、解空间等等),以及在以后各领域的专业课学习中,向量空间的建立也是常用的手段,所以对线性空间的理解决定了学习线性代数的上限。与微积分不同的是,在应用层面一些底层的原理是可以当成黑箱的,但线性代数的应用过程本身就要应用到大量的理论知识(否则根本搞不明白怎么去构造一个空间,也搞不明白诸如子空间这些东西在该空间中的具体含义),所以学习线性代数的时候一定不要浅尝辄止。

在题目方面,线性空间因为没有什么具体的东西(必须要结合矩阵),基本不会单独命题,单独命题大多都是应用反证法或者选择一组基来证明某些线性相关或者线性无关问题,基本都是固定的技巧。部分老师将线性空间作为首章内容进行讲解,其他的大多都会在学习完初步的矩阵论基础后,再利用线性空间的工具赋予其更加理论的解释。对于前者,同学们在初学时容易一头雾水,可以在学习到矩阵论后回来复习;对于后者,同学们也应类似的学到线性空间理论后,返回到矩阵论的知识进行复习,这样可以达到更好的学习效果。

矩阵论基础

矩阵论也是线性代数课纲内最主要的内容,主要包括矩阵的简单计算、矩阵的行(列、零)空间、利用矩阵解线性方程组、利用矩阵处理线性空间和线性映射的问题、以及基于行列化简的 LU 分解及其衍生物等等。在我看来,矩阵有着非常丰富的理解方式,因此,学好线性代数的一个关键就在于是否对矩阵论有着足够深刻的认识。比如就矩阵计算而言,加减都还好,但乘法则有着极其深刻的意义(矩阵各分量的运算,按行分块的和按列分块的运算,等等),直观的理解可以参考《线性代数的艺术》体会矩阵运算极其丰富的内涵。

矩阵运算的很多内容都是基于解线性方程组来展开的。我大一初学线代的时候第一章是解线性方程组(就是纯用矩阵行化简硬解,完全不懂原理),当时的我一头雾水,以为线性代数就这(笑),越往后学才越发现解线性方程组所蕴含的数学原理。线性方程组的解理论要结合线性空间理论、矩阵论的知识来理解,毕竟线性方程组求解其实就是求给定的线性子空间(即列向量张成的空间)是否能够线性表出某给定向量(或者零向量),求解的方法(行化简)也要结合本质来理解,既能知其所以然,在计算的时候也不会因为不明原理而用错方法,像写成列向量行化简这种就经常容易犯错误。行列式是非常有力的计算工具,因为其承载了矩阵的很多信息(其实就是向量张成的平行 n 面体的体积),但在推导行列式定义的时候尽可能用归纳的方法推导(即我需要行列式满足在初等变换下具有某种固定形式的性质,所以我需要行列式拥有某种特定的计算方法,比如换序变号,在第三类初等变换下值不变等等),而不是采用逆序数这种不明所以的定义。学习行列式时要更多地关注其自身的性质和效用,而不要把太多时间用在技巧运算上,捡了芝麻而丢了西瓜。Cramer 法则、伴随矩阵等等都是与行列式相关的衍生物,在计算时往往因繁琐而相对鸡肋,可以当成一些小 case 来理解代数的这一套语言体系。

在学习这一部分时,个人认为有两个非常重要的地点:一个是矩阵的乘法(尤其是分块乘法),学会从不同的角度认识矩阵的乘法对于将来的学习大有裨益(尤其是在学习线性变换和线性映射时,此时矩阵就变成了一个线性映射的表示,即“本来是一个看不见摸不着的线性映射,我们去设计一组基,我们就可以写出这样一个矩阵,使得这个映射看得见摸得着”;一个是从线性空间的角度理解线性方程组的解,并用矩阵的形式去进行计算和推导,理解好行、列、零、左零空间的含义和几何直观,并理解好基本解系和特解的几何意义。理论层面除了这两个大多数理解不难,在做题和应用方面,矩阵打洞和行列式部分会有一些技巧性地问题,做到见招拆招即可。

内积空间

线性代数在引入内积之后变得更加多彩,因为其关键在于,我们拥有了一个“度量”,使得之前本无法比较的东西在一个函数的映射下(即内积)变得可以比较,由此衍生出很多多彩的内容。

对于内积要认识到其与距离之间的推导关系,在很多推导中会反复运用。正交概念的提出使得一组正交基在涉及到运算的时候拥有某种意义上的“线性无关性”(因为交叉项都是零嘛),而正交矩阵则恰好就是以一组正交基为行向量(或列向量)组成的矩阵。由此衍生出的正交化拥有非常直观的几何意义,同学们在学习时应反复揣摩(因为投影也是非常重要的一个 topics ,人工智能里面很多操作本质都是给数据点做一个投影)。并且,在学到这里之后,又要麻烦同学们(笑)回头再深情地看一眼我们的线性方程组的解理论和矩阵论,首先线性方程组的解理论在引入内积之后除了线性表出之外,又多了一种内积的理解方式,此时引申出的四个线性空间可以从正交补的范畴来思考;同时矩阵的乘法也可以用标准内积的形式来思考(包括后面学习到实对称正定矩阵的时候也要返回来从 Gram 矩阵的角度来思考)。

投影矩阵和最小二乘法是整章里面比较技术的内容。投影矩阵的本质是一个映射,即将给定向量投影到给定向量组张成的空间当中,推导的过程相对整个线性代数课程而言算是比较有挑战性的,需要反复体会。最小二乘法结合了线性方程组的解理论和投影矩阵的知识,只要后两者掌握熟练不是太大的问题。

正交矩阵的性质比较多,大家可以跟着教材多推一推。另外投影矩阵这一部分大家容易浮于表象,即只会机械进行操作而不懂内涵,这样的想法在线性代数这个课程中是非常不对的,还是要逼自己一把搞明白。

矩阵的分解、特征值和正定矩阵理论

后面的内容基本是一些比较具体的东西了,其实本来都是很深刻很值得挖掘的东西,但是因为阉割了很多东西(比如直和分解、线性映射什么的)所以很多东西都搞不了,比如只能讲对角化而讲不了 Jordan 标准型、循环子空间这些东西等等,学有余力的同学还是推荐阅读高等代数的教材弥补这一缺憾。

这一部分大部分都是一些计算和简单的应用,需要大家在理解原理的前提下记忆并进行适当的练习。

总结和资源

线性代数相对微积分而言没有那么多繁琐的技巧和细节,相对而言更加系统而干净,但这同时也要求同学们在学习是一定要注意不同分支之间的关系,这我也在前面的内容中反复提到过。相较于微积分而言也应该更加注重“思”的成分,哪怕单以做出作业题考出高分为目的,微积分可能靠刷题变成求极限、展开、积分的小能手真的能拿到不错的成绩,但线代如果不懂原理可能连矩阵都算不明白,所以不要沉浸在表面的做题和技巧里面。

资源的话,两套教材即《Linear Algebra》和我们学校老师的自编讲义已经非常足够了,除此之外学有余力的同学可以直接学习数学系的教材姚慕生《高等代数学》及配套习题集《高等代数》;对于抽象概念比较感兴趣的可以阅读一下《Linear Algebra Done Right》,比较关注在其他领域应用的可以看一下 David 的《线性代数及其应用》,可以学到很多有意思的东西。3Blue1Brown《线性代数的本质》将线性代数的几何直观表现得淋漓尽致,相较于微积分而言非常推荐大家好好看一看。