线性代数书籍:the matrix cookbook
scalar, vector, matrix, tensor
https://www.bilibili.com/video/av6731067/?p=1
https://space.bilibili.com/88461692
关注概念层面的东西,从几何角度理解数学,数值计算交给计算机处理。
线性代数中最基础的就是向量,向量加法和乘法贯穿整个线性空间。
向量加法:
- 理解为向量在空间中沿着向量方向移动向量长度距离,所到达的位置,与起点构成的向量。
- 用数值表示时,对应轴分量相加
向量数乘:
- 向量的缩放
向量表示成基向量与数值相乘,然后相加表示。比如 (2,3)=2i+3j 。任何向量都可以用乘法和加法来表示,缩放再相加。
术语span(空间):两个向量的线性组合构成的所有向量集合,av+bw
扩展到三维、高维空间,要span尽可能大的空间,给定的向量必须是线性无关的。
线性变换,变换即函数,用变换一词,意在表示他是一个运动的计算过程。
以二维空间的线性变换为例,称变换矩阵为A,原空间向量x,在A作用下,新空间中对应向量为y,表示为Ax=y。A如何定义?我们知道一个空间中的任意向量都可以用基向量表示,在二维空间中是i和j,那么A只需要记录变换后空间中两个基向量的信息,就能表示新空间中所有的向量。扩展到高维空间,也是一样的。x表示原始空间,也是线性变换后的空间中向量对于基向量的缩放系数。
理解一下数值,向量和矩阵分别表示什么。向量的各分量,表示缩放系数,相对于基向量的缩放。矩阵的每列表示一个向量,它记录的是空间变换后的基向量信息。如果这个矩阵是满稚的,那么所有列可以作为新空间的基向量,这些向量的span空间是完备的,那么新空间中的向量都可以用这个矩阵来表示了。这里又产生新的概念了,矩阵的稚。一整套逻辑都需要天衣无缝的串联起来。
既然空间的变换(旋转、平移、缩放)可以用矩阵表示,且可以理解为基向量的变换,那么可以快速写出一些简单的变换了。比如逆时针旋转90度。
线性变换:空间网格线平行等距分布、原点不变
划重点,矩阵的几何意义,理解成空间的线性变换。空间的线性变换,几何上是对网格进行拉伸挤压 变换。
矩阵乘积:几何意义是两个相继变换,从右往左的顺序。
行列式:它是矩阵的值,几何意义是面积缩放系数。根据前面的推论,空间变换是平行等距的,面积的变换都等同1x1单元格的面积变换。矩阵对应行列式的值是多少,面积就会缩放多少倍。高维空间是体积。
理解一下,如果一个变换矩阵的行列式值是0,那么它会将空间压缩到更小的维度上。比如二维空间,会被压缩到一条直线上。
当然,行列式可以是负数,表示空间定向的变化。空间定向由基的顺序决定。二维空间表现为翻面。
逆矩阵:还是从空间变换的几何意义上考虑,就是一个反向操作。
什么时候没有逆?从高维空间可以变换到低维空间,但是没办法从低位空间变换到高维空间。
秩:变换后空间的维数。一维空间是1,二维是2。
怎么理解非方阵,列还是变换后的基向量,列元素个数表示变换后所在空间维数。从低位向高维、高维向低维空间转换都是可行的。
点积:向量的点积,理解为从高维空间线性变换到一维空间,这个变换又跟投影联系起来。
叉积
这里有个重要的观点,线性函数,都能通过矩阵乘法来描述。而且,根据输入输出空间维数,可以确定矩阵的维数。如果是从高维空间到一维空间的映射,进一步可以转换成向量的点积。
给定两个向量v,w,叉积的结果t是垂直的向量,模是面积。为什么要这样定义?给任意第三个向量p,构成的平行六面体,体积等同于p跟叉积结果t的点积。3x3行列式的结果是体积,所以把其中一列当作自由变量,另外两列抽象出来一个叉积运算,然后再运用点积,就能解释整套东西了。叉积的结果是向量,点积的结果是一维数字。
基变换:坐标空间的变换,一样用矩阵乘法解决。
特征值和特征向量
在线性变换中,如果存在向量,变换之后仍处在它张成的直线上,只是被拉伸或者压缩了,那么这个向量就是特征向量,缩放系数就是特征值,方向正负。
矩阵乘积运算,求幂次方等,先用基变换,把矩阵转换到以特征向量为基的空间中去,去计算,再转回来。