一些感想
我最早系统地学习线性代数是在大二时候,当时特意选修了学校物理系开设的4学分的线代,大概也就是比我们自己专业的线代多了一章向量空间的内容,其实最后上完发现,整个课程内容还是偏向于计算,对线性代数的几何直觉少有提起,对线性代数的实际运用更是鲜有涉及。同济的那本薄薄的如同九阴真经一般的教材,把线性代数讲的云里雾里,当时一个人在自习教室度过多少不眠之夜,一点一点去思考其概念定理背后的实际意义,多半也是边猜边想,苦不堪言。直到多年以后,有幸在网上听到了MIT的Strang老师开设的线代公开课,才对一些基础概念渐渐明朗,虽然至今又过去了很多年,但是对一些本质的理解,依然清晰。
不过,仔细想想,国内的教材写的云里雾里,才促使了我自发的思考,如果一切得来太容易,也许就不会那么刻骨铭心。我很早之前就想过这个问题,国内的教科书作者简直就是在下一盘大棋,自己出版的书写的高深莫测,翻译国外的书又翻译的含糊曲折,那么留给学生的只有两条路,要么去看原版的英语书,要么就是自己一点点看云雾缭绕的国产书,边猜边想边证明,不管走哪条路,都能走向成功。
最近,在youtube上看到了3Blue1Brown的Essence of linear algebra这门课,有种如获至宝的感觉,整个课程的时间并不长,但是对线性代数的讲解却十分到位,有种浓缩版的Gilbert Strang线代课程的感觉。希望通过这个课程,重温一下Linear Algebra。
Essence of linear algebra preview
-
线性代数使用场合
讲师在课程中说道:许多学生学完了线代,会进行许多的计算,比如算行列式,算特征值,特征向量,算矩阵乘积,但是却不理解为什么矩阵的乘法这样定义,为什么cross product会和determinant(行列式)有关系,或者特征值究竟代表的是什么东西,其实这也是我当时学线代时候的疑问,书上并没有很明确的解释,也没有这样的视频课程来给你阐述,一切都是要靠自己去想。讲师指出,很多学生对这些概念背后的几何意义含糊不清,但是实际上,会进行线性代数的数值运算和真正在几何层面理解线性代数概念,完全不是一个level。几何意义的理解可以让你知道什么时候用什么数学工具来解决实际的问题,并且可以解释其结果的意义。当实计算结果这件事,交给计算机来做就行了。课堂上应该花大力气讲解概念,而不是计算,如果真的要讲计算,也应该是教会学生用matlab这样的工具。求逆矩阵,求代数余子式,求特征值什么的,还不是分分钟的事。
-
课程的目录
Vectors, what even are they?
向量的三种理解
讲师上来就开门见山说道:The fundamental, root-of-it-all building block for linear algebra is the vector.
向量是线性代数的基石(国外课程往往从向量开始说起,也就是从本质入手,国内则上来先定义逆序数,计算行列式,代数余子式,很容易把学生带偏),对向量的理解可以有三种角度:物理系学生的角度、计算机系学生的角度以及数学系学生的角度。
物理系:向量是一个矢量(arrows pointing in space), 或者说是一个在空间中有指向的箭头,定义这个向量,需要它的长度以及它指向的方向两个方面。在平面上的向量是二维的,在空间中的向量是三维的。
计算机系:向量是ordered lists,并且在这些lists中存放的内容是numbers。
数学系: a vector can be anything (-_-|||) 它们之间可以相加,相乘,也可以被数乘。-
向量的几何意义
不同于物理,在线代的领域里,把vector放在一个坐标系中,比如xy坐标系,其出发点在原点。
比如这个向量,其数字的意义代表从该向量的起点(也就是原点)到终点分别在x轴和y轴上的距离,正负号代表方向。三维空间一样,只是多了一个Z轴。
-
向量加法的几何意义
三角形法则,好比有2只蚂蚁在一张纸上,第一只蚂蚁向上走2步向右走1步,然后再向下走1步,向右走3步。第2只蚂蚁直接向上走1步,向右走4步,就能和第一只蚂蚁站在相同的位置。也就是说第一只蚂蚁两次行动叠加之后所处的位置,和第二只蚂蚁一次行动是一致的。再进一步理解,其实要达到向右4步,向上1步的那个位置,有无数种走法,第一只蚂蚁的两次行动只是其中的一种分解。它也可以走10次走到那个位置。
-
向量乘法的几何意义
拉伸,压缩,翻转向量的行为,统称为scaling,而这些数值本身,称之为scalars
Linear combinations, span, and basis vectors
把这里的3和-2都看作是一个scalar,它们对原点的单位向量i和j进行scaling
于是,该(3,-2)向量就变成了两个scaling过的单位向量的和。
i和j是xy坐标系中的基础向量(basis vectors)
[其实也可以选择不同的basis vectors,比如说在平面上任意的两个向量作为基,这样得到的scalars的数值是不相同的,但是同样可以通过对这一对任意选择的basis vectors进行linear combination,而得到在平面上的任意向量。详见视频]
-
线性组合
Linear Combination的几何意义如图所示,完整上来说,其实是向量之间的线性组合,其主体是向量,线性组合是一个操作,将各个向量scaling之后,相加在一起,就得到了参与操作的向量之间的一个Linear Combination。 -
线性组合的不同情况
-
span
span : 是一组集合,它包含两个向量之间的全部线性组合
如果你面对的是一组向量,那么考虑这些向量的坐标点。
三维空间中,两个不共线的向量之间的span,也就是它们全部线性组合的集合,是一个由这两个向量所张成的平面。
如果在三维空间中,有3个向量,其中有2个共线,那么它们3者之间的线性组合所形成的set,只是三维空间中的一个平面,其中有一个向量是多余的(redundant),因为span的set由两个向量便可以决定。而这两个共线的向量被称之为线性相关(Linearly dependent)线性无关(Linearly independent)的两个向量,不能通过scaling得到对方,其在平面上的几何意义是不共线
basis的定义
The basis of a vector space is a set of linearly independent vectors that span the full spaces.
对于任意一个向量空间而言,它的基是一组相互之间线性独立的向量的集合,这些向量之间通过线性组合,可以span整个向量空间。
Linear transformations and matrices
-
Linear transformations
讲师说道,transformations其实无非是function的fancy说法,本质上也是input和output,输入一个vector,经过某个transformation之后,得到一个输出的vector。整个过程,可以看作是输入的vector移动到了输出的vector的位置。考虑整个平面上的vector,在经过transformation之后,得到了一个最新的位置。
如果用arrow来考虑的话,会比较杂乱,仅仅考虑每个向量的终点(起点必在原点),那么就变成了平面上点的集合,那么其效果就是原来的点移动到了新的位置。
-
Linear transformations的两大特点
经过变换之后:
- 所有的直线还是直线
- 原点还在原来的位置
-
描述Linear transformation
给你一个输入的向量,如果表示????部分,从而得到你想要的输出的向量。
V向量在进行Linear Transformation之后,相当于-1倍的Transformed的i向量与2倍的Transformed的j向量之和,也就是说,在平面上,只需要记录i和j两个basis vectors的变化即可。
It started off as a certain linear combination of i-hat and j-hat and it ends up is that same linear combination of where those two vectors landed.
You can deduce where v must go based only on where i-hat and j-hat each landed.
These transformations can be described using only a handful of numbers.
These numbers are the coordinates of where each basis vectors lands.
Matrices give us a language to describe these transformations where the columns represent those coordinates.
Matrix-vector multiplication is just a way to compute what that transformation does to a given vector.
Every time you see a matrix, you can interpret it as a certain transformation of space.
Matrices as transformation of space.
Matrix multiplication as composition
-
组合变换概述
组合变换,比如先进行一次rotation变换,再做一次sheer变换
-
组合变换示例
-
组合变换概括(矩阵乘法几何意义)
The determinant
-
概述
线性变换,有些是将原来的网格拉伸,有些是将原来的网格压缩,如果要定性的来描述变换,那么去测量拉伸或者压缩的程度不失为明智之举。
-
实例
可以看到,该变换将i拉伸了3倍,而将j拉伸了2倍
-
定义
-
determinant的正负含义——方向
-
determinant的计算
Inverse matrices, column space and null space
-
线性方程组
Ax = v的几何意义
其中constant matrix A代表的是一种linear transformation,求解的过程,就是要找到这样一个向量x,使得向量x在经过A的linear transformation之后,和v向量重合。When the determinant of this transformation is not zero, it turns out that there will be one and only one vector that lands on v. 要找到这个解向量,可以像倒带一样,对v向量进行A的逆操作。
-
逆矩阵
比如说90度逆时针旋转这个transformation的逆操作就是顺时针旋转90度
-
Rank
在三维空间中,如果全部input在某个Linear Transformation之后,全部output在一条直线上,那么这个transformation拥有rank 1。如果全部output在一个平面上,那么这个transformation拥有rank 2。对于1个2*2的矩阵而言,它的rank最多为2。
-
列空间
This set of all possible outputs for your matrix, whether it's a line, a plane, 3d space, whatever, is called the column space of your matrix.
注意,列空间的对象是矩阵,矩阵的意义是一个Linear Transformation的表示,某个Linear Transformation的所有outputs的集合,称之为该matrix的column space。
column space: The column space is the span of the columns of your matrix.
rank: The number of dimensions in the column space.
-
null space
The set of vectors that lands on the origin is called the null space or the kernel of the Matrix.
如果某个向量空间在Linear Transformation之后,存在降维,那么就会有一系列原来不是零向量的向量落到了零向量的位置,所有这些向量的集合构成了null space
Nonsquare matrices as transformations between dimensions
-
概念
Dot products and duality
-
基本运算
-
点积的几何意义
-
点积的几种情况
-
点积的结果和顺序无关
Duality
Duality: Natural-but-surprising correspondence
the dual of a vector is the linear transformation that it encodes
the dual of a linear transformation from some space to one dimension is a certain vector in that space
Cross products
-
2维讨论
-
基本概念
-
运算
-
运算公式背后的几何意义
Change of basis
-
基本定义
-
运算
-
把正坐标系下的线性变换翻译成变换基的坐标系下的变换
Eigenvectors and eigenvalues
-
背景
-
应用
-
计算
-
对角矩阵