课程来自b站发现的《线性代数的本质》,可以帮助从直觉层面理解线性代数的一些基础概念,以及把一些看似不同的数学概念解释之后,发现其实有内在的关联。
这里只对部分内容做一个记录,完整内容请自行观看视频~
数字在线性代数中起到的主要作用就是缩放向量
线性代数仅围绕向量的加法和数乘
线性代数可以:
每当用数字描述向量时,它都依赖于我们正在使用的基。
所有可以表示为给定向量线性组合的向量的集合,被称作给定向量张成的空间(span) (下图中a,b在实数范围内变化)
- 多个向量的线性组合:可以理解为对多个向量进行缩放,最后相加
由此,其实可以想明白下面这句话为什么要这么定义:
向量空间的一组基是张成该空间的一个线性无关向量集
“变换”其实与“函数”是类似的
线性变换需要遵守的性质:
举例:对于白->蓝线,还都是直线,原点也没有变,但就不是线性变换了,因为对于一个对角线而言,在变换后的空间里它不再是直线了。线性变换可以视作“保持网格线平行且等距分布”的变换
先看两个具体的例子:
对于这个矩阵,相当于由原来11的矩形,变成了23=6的矩形,所以可以说这个线性变换将这个面积变为了6倍。
这个线性变换改变面积的比例被称为这个变换的行列式(二维),如果一个二维线性变换的行列式为0,说明这个变换将空间压缩到了更小的维度上(直觉:围成的面积为0,即i与j重合了)。
那当行列式为负数的时候呢?
类似于翻转,改变了空间的定向(对于二维,即i和j左右关系变了),绝对值仍然表示改变的面积比例。
二维行列式中,主对角线和另一条对角线元素的几何含义?
a、d表示平行四边形的底和高,而b、c表示平行四边形在对角方向上拉伸或压缩了多少。
对于三维矩阵,行列式相当于i,j,k基形成的平行六面体的体积的缩放比例。如果此时行列式为0,那么矩阵的列必然线性相关(举例:因为至少有两个基会共线,这样三个基退化成平面/直线/点的情况,围成的体积为0)。关于定向是否改变:如果从右手系变成了左手系,那么定向发生了改变,变换的行列式为负数。
怎么用一句话解释:
det(M1M2) = det(M1)det(M2)
相关具体计算方法:高斯消元法、行阶梯型
将解方程组与几何直观联系起来:
A表示一种线性变化,这个等式表示把向量x经过线性变换后,使得它与v重合。
当A的行列式不为0,此时空间并未被挤压为零面积的区域,此时有且仅有一个向量x经变换后与v重合,此时也会存在A的逆,用A逆乘以v向量即可求解,相当于逆向的变换;
当A的行列式为0时,空间就被挤压了,此时就不再有逆变换了,但仍可以有解。比如,假设A把x的空间压缩成了一条直线,如果v恰好在这条直线的方向上,那么此时解存在。
与秩的关系:秩代表变换后空间的维数
当变换的结果为一条直线时,即结果是1维的,我们称这个变换的秩为1;
如果变换后的某个向量落在2维平面上,称这个变换的秩为2.
所有可能的输出向量A*v构成的集合称为A的列空间
矩阵的列表示基向量变换后的位置,这些变换后的基向量张成的空间就是所有可能的变换结果。
列空间就是矩阵的列所张成的空间。更精确的说,秩就是列空间的维数。秩最大的情况就是与列数相等,成为满秩。
零空间:变换后落在原点的向量的集合,被称为矩阵的零空间或者核kernel
零向量一定会被包含在列空间中,因为线性变换必须保持原点不变。如果是一个满秩变换,唯一能在变换后落在原点的就是零向量本身;如果是一个非满秩矩阵,会将空间压缩到一个更低的维度上,即会有很多向量在变换后成为零向量。
对于线性方程组Ax = v, 如果说v是一个零向量,x就相当于零空间,即这个向量方程所有可能的解。
#06-附注 非仿真 不同维度空间之间的线性变换
满秩:列空间维度和输入空间的维度相等
下图中,列空间其实就是三维空间中的一个二维平面,输入空间的维数就是基向量的个数2
另一个例子如下:从三维空间到二维的变换
这一节解决两个问题:
点积举例
对于两个维数相同的向量,我们可以这样来求得点积结果:
点积的几何解释
这里可以是w的投影长度v的长度,也可以反过来是v的投影长度w的长度,这里其实体现了点积和顺序无关,为什么呢?
首先,如果v和w向量长度相同,可以利用对称性,如下图,其实是一个镜像的关系,所以变换顺序也没有影响
接着,如果将其中一个向量进行缩放,对称性被破坏了,但向量本身缩放的倍数,其实就恰好等于这个向量的投影所缩放的倍数。倍数关系作为一个常数可被提取出去的,所以顺序不会有影响。
对偶性
为什么n维向量的点积和矩阵向量乘法(投影计算)之间是有联系的?
多维空间到一维空间的线性变换。假设有一个二维向量, v = [ 43 ] T v = [4 3]^T v=[43]T,就需要一个1X2的变换矩阵把它投影到一维上,假设此时这个转换矩阵就是[1, -2], 相当于把i投影到了一维数轴的1上,把j投影到了一维数轴的-2上,那么最终v向量变换后的一维向量就是 -2
对于任一线性变换,输出为1维数轴时,空间中会存在唯一的向量v与之相关。应用变换和与向量v做点积是一样的。
一个向量的对偶是由它定义的线性变换
一个多维空间到一维空间的线性变换 的对偶是 多维空间中的某个特定向量
两个向量的叉积表示的是这两个向量围成的平行四边形的面积。如果v在w的右侧,此时面积值为正,而如果v在w的左侧,面积值为负(右手定则大拇指朝内为负/ 以基向量i和j的定向为基础)。也就是说,顺序对叉积会有影响。
如果不想去判断方向,只想进行数值计算,那么也可以用行列式来求值,见05-行列式
以上两种不算是严格的叉积。真正的叉积是通过两个三维向量生成一个新的三维向量。如下所示,垂直于平行四边形的会有两个向量,使用右手定则确定。
为什么两个向量的叉积要写成 i j k的形式呢?
为什么这里面积就是行列式,基向量可以作为矩阵元(第一列的元素是i.j.k)?
对偶性的思想: 对于一个(多维)空间到数轴的线性变换时,都和那个空间中的唯一一个向量对应。即:应用线性变换和与这个向量点乘等价。
数值上说,是因为这类线性变换可以用一个只有一行的矩阵描述(相当于一个1*n维度的变换矩阵),而它的每一列给出了变换后基向量的位置。(例子如下,i变换后到2,j变换后到1)
对于三维空间, 类似的,我们的计划是:
上面就是一个函数,这个3*3 矩阵可以理解为,第一列是一个任意可变向量,行列式的值就是由这三列的向量组成的平行六面体的体积。这个函数的重要性质是,它是线性的。由于它是线性的,就可以用矩阵乘法来描述这个函数,由于这个函数是从三维空间到一维空间,所以就会有一个1*3的变换矩阵;然后再利用对偶性,这个 1*3 的变换矩阵就可以立起来变成一个3*1的特定向量,并且可以将整个变换看作与这个特定向量(下图中的p向量)的点积。
对于下图,把i,j,k放入矩阵第一列进行计算,得到的系数和前面的p的系数是相同的。在矩阵中插入i,j,k是为了提醒应该把这些系数解读为一个向量的坐标。
什么样的向量p,可以满足如下性质,使得它与向量x的点乘可以等于由向量x,v,w组成的平行六面体的有向体积?
对于空间中的同一个向量,如果选取的基向量不同,那么我们用于表示的数值就会不同。
对于基向量的转换,会有点别扭:蓝色是当前的坐标系下的向量,如果要把这个向量用其他系表示,那么前面的矩阵的是 “从当前基到其他系的基的变换”的逆矩阵。
反之,
如何转化一个矩阵:最右的向量是用Jenifer的语言描述的,将她的向量转换到我们的系下后(基变换矩阵),再旋转90度,再转回Jenifer的系。这样得到的就是她的坐标系下,向左旋转90度后的结果。而不能直接用她的坐标乘以表示90度旋转的矩阵。
引申一下, A − 1 M A A^{-1}MA A−1MA这种形式都暗含一种数学上的转移作用,中间矩阵代表所见的变换,外侧表示视角的转换,最后表示的就是从其他视角看到的变换结果。
如果对空间中的基向量做线性变换,在这个空间中如果有某个变量只进行了原方向上的缩放,那么这个向量就是特征向量,而这个特定方向上缩放的倍数就是特征值。
下图中,绿色是变换成原来3倍的i向量,大红色是变换后的j向量。绿线和黄线是变换后方向不变的向量,即特征向量,每个特征向量所缩放的倍数就是特征值。
假设有一个特征值为-0.5的特征向量,那么就意味着这个向量被反向且被压缩为原来的一半
变换后:重点在于仍在张成的直线上,没有旋转
对于一个三维空间内的旋转,如果可以找到这个旋转的特征向量,也就是留在它张成的空间里的向量,那么它其实就是旋转轴。把一个三维旋转看成绕某个轴旋转一定角度,比考虑相应的3*3矩阵更加直观。注意:这种情况下,旋转矩阵的特征值要为1,因为不会进行任何缩放。
求解特征值,其实就是去找非零解时,会导致降维的矩阵(A- λ \lambda λI),即det(A- λ \lambda λI) = 0.
二维线性变换不一定有特征向量,比如旋转90度,每个向量都旋转了且离开了其张成的空间。
举例二,对于剪切变换:只有唯一的特征值,也只有在原来的i方向上的量可以一直不变
不过注意:有可能出现只有一个特征值,但是特征向量不在一条直线上的情况,如下图,把基向量都扩大两倍,特征值是2,但每一个向量都是特征向量。
特征基
如果基向量恰好是特征向量,会发生什么?如下图的二维情况,此时的变换矩阵就会是一个对角阵,每一列就是基,对角元素就是对应的特征值。
好处:对于对角矩阵,如果要连续计算n次变换,其实也就是用对角元素的幂运算求解即可,不会很复杂。但是当一个矩阵不是对角时,可以变换成对角矩阵,然后求幂运算后再转化回原来的坐标系,计算上会更方便。
实际练习:
行列式和特征向量与所选坐标系无关
本节讨论函数和向量之间的若干联系。
函数与向量的对应关系:在相乘和相加上是类似的;对一个函数求导数,其实就相当于一种变换,算子和变换类似。
为什么求导是线性运算,下图举例,求导运算可以满足可加性和成比例性。
一个线性变换可以通过它对基向量的作用来完全描述,这使得矩阵向量乘法成为可能。下面来用矩阵来描述求导。
对于空间中的无穷多个多项式进行求导,一个多项式其实就是一个线性组合的表示
基向量/基函数:x的不同次幂