线性代数学习笔记
初一的时候看过MIT教授讲的,现在全忘光了 /kk
下为3Blue1Brown线性代数课程笔记
01 向量究竟是什么?
vector
Physics : length + direction
CS : ordered lists of numbers
Math : anything that there’s a sensible notion of adding two vetors and multiplying a vector by a number
在线性代数中,向量经常以原点作为起点
表示方法&几何意义:
每一对数对应一个向量,每一个向量对应一个数(唯一)
向量加法Physics:平移第二个向量,使它的起点与第一个向量的终点重合,然后画一个向量,从第一个向量的起点出发,指向第二个向量的终点
向量加法CS:对应项相加
(线性代数中唯一允许向量离开原点的情况)
合理性:
可以考虑数轴上的加法,2 + 5 就是从原点先向右走两步,再走五步,就是七步
同样,上面的向量加法也可以转换为先向右上走,在向右下走
同时向右上走也可以表示为先向右走,在向上走,右下同理
[ 1 2 ] + [ 3 − 1 ] = [ 4 1 ] \begin{bmatrix} 1 \\ 2 \end{bmatrix}+\begin{bmatrix} 3 \\ -1 \end{bmatrix}=\begin{bmatrix} 4 \\ 1 \end{bmatrix} [12]+[3−1]=[41]
向量点乘:将一个向量缩放,对应于将每个分量分别乘标量
缩放(scaling):把向量拉伸或压缩,有时又反向的过程
标量(scalars):
2
x
⃗
、
1
3
x
⃗
、
−
1.8
x
⃗
2\vec{x}、\frac{1}{3}\vec{x}、-1.8\vec{x}
2x、31x、−1.8x前面的(系)数,2、
1
3
、
−
1.8
\frac{1}{3}、-1.8
31、−1.8
线性代数围绕两种基本运算:向量加法和向量乘法
02 线性组合、张成的空间与基
将每个坐标看作标量,缩放向量并相加
i
^
(
i
帽
)
:
指
向
正
右
方
,
长
度
为
1
的
单
位
向
量
\hat{i}(i帽):指向正右方,长度为1的单位向量
i^(i帽):指向正右方,长度为1的单位向量
j
^
(
j
帽
)
:
指
向
正
上
方
,
长
度
为
1
的
单
位
向
量
\hat{j}(j帽):指向正上方,长度为1的单位向量
j^(j帽):指向正上方,长度为1的单位向量
i与j合称xy坐标的基向量(坐标的基),坐标是由这基向量构成的
线性组合:两个向量标量乘法之和的结果被称为这两个向量的线性组合
向量的张成的空间:
线性相关:其中一个向量,可以被其它向量线性组合,因为这个向量已经落到了其它向量的张成的空间中
线性无关:所有向量都给张成的空间添加了新的维度
基的严格定义:向量空间的一个基是张成该空间的一个线性无关向量的集合
03 矩阵与线性变换
变换:接收一个向量并输出一个向量(输入向量&输出向量)
和函数的意义相同,但暗示以特定的方式可视化这一输入-输出关系
严格意义上,变换是将向量作为输入和输出的一类函数
线性变换:变换后直线依然是直线(网格线保持平行且等距分布),原点保持固定
仿射变换:直线依然是直线,但原点位置移动了
可以通过
i
^
,
j
^
\hat{i}, \hat{j}
i^,j^ 推算出其他向量变换后的落脚点
矩阵:
矩阵运算:如果想要知道线性变换对这个向量的作用,只需取出初始向量的坐标,将他们分别与矩阵特定列相乘,然后将结果相加即可
与向量缩放再相加的思想一致
矩阵只是一个记号,它含有描述一个线性变换的信息
04 矩阵乘法与线性变换复合
复合变换:先做一个变换,再做一个变换,称为这两个变换的复合变换
05 行列式
行列式:线性变换对面积产生改变的比例
空间取向被反转时(
i
^
在
j
^
左
边
\hat{i}在\hat{j}左边
i^在j^左边),行列式的值为负数,但其绝对值依然表示区域面积缩放的比例
右手定则:用于确立三维空间取向,如果变换后仍然可以这么做,那么空间取向没有反转,行列式为正
左手则空间取向反转,行列式为负
行列式计算:
行列式计算:
p为1~n的一个排列,r为排列的逆序对个数
行列式七大性质:
1.行列式和它的转置行列式相等。
2.行列式中某一行元素的公因子可以提到行列式符号的外边来。或者说,用一个数来乘行列式,可以把这个数乘到行列式的某一行上。
3.若果行列式中有一行元素全为零,则行列式的值为零。
4.交换行列式两行,行列式仅改变符号。
5.若行列式中有两行完全相同,则这个行列式的值为零。
6.若行列式有两行的对应元素成比例,则这个行列式等于零。
7.把行列式某一行的元素乘以同于个数后加到另一行的对应元素上,行列式不变。
06 逆矩阵、列空间与零空间
“什么都不做”的矩阵就是单位矩阵
矩阵行列式不为0,就存在逆矩阵
秩:变换后空间的维数
列空间:所有可能输出向量
A
v
⃗
A\vec{v}
Av构成的集合,称为A的列空间
换句话说,列空间就是矩阵列所张成的空间
所以秩更精准的定义是列空间的维数
满秩:秩达到最大值,与列数相等
零向量一定在列空间中,因为线性变换必须保持原点不变
零空间(核):变换后落在原点的向量集合,被称为所选矩阵的”零空间“,或”核“
非方阵:
3*2矩阵的几何意义:将二维空间映射到三维空间
两列表示输入的空间有两个基向量,三行表示基向量在变换后由三个独立坐标表示,
07 点积与对偶性
点积:求出每一对对应位的乘积,然后加起来
几何意义:
向量方向相同:点积>0
向量互相垂直:点积=0
向量方向相反:点积<0
点积与运算顺序无关
要证明几何意义,需要挖掘更深入的东西:对偶性
线性变换性质:等距分布的点(输入空间)在变换后保持等距分布(输出空间)
08 叉积的标准介绍
叉积:
v ⃗ × w ⃗ = − w ⃗ × v ⃗ \huge \vec{v} \times \vec{w}=-\vec{w} \times \vec{v} v×w=−w×v
( 3 v ⃗ ) × w ⃗ = 3 ( v ⃗ × w ⃗ ) (3\vec{v})\times\vec{w}=3(\vec{v}\times\vec{w}) (3v)×w=3(v×w)
( a v ⃗ ) × w ⃗ = a ( v ⃗ × w ⃗ ) \huge (a\vec{v})\times\vec{w}=a(\vec{v}\times\vec{w}) (av)×w=a(v×w)
真正的叉积:通过两个三维向量生成一个新的三维向量,第三个向量的长度为前两个向量所围成的平行四边形的面积,方向与平行四边形垂直
垂直的向量有两个,如何确定?
又是右手定则
三维叉积计算
证明:
09 基变换
网格只是一个框架,依赖于我们对基的选择
10 特征向量与特征值
线性变换的特征向量在变换后方向不变,缩放比例即为特征值
三维旋转(变换)的特征向量所在的直线就是旋转轴,这种情况,特征值必须为1
A
v
⃗
=
λ
v
⃗
\large A\vec{v}= \lambda \vec{v}
Av=λv
A
v
⃗
=
(
λ
I
)
v
⃗
\large A\vec{v}= (\lambda I)\vec{v}
Av=(λI)v
A
v
⃗
−
(
λ
I
)
v
⃗
=
0
⃗
\large A\vec{v} - (\lambda I)\vec{v}= \vec{0}
Av−(λI)v=0
(
A
−
λ
I
)
v
⃗
=
0
⃗
\large (A - \lambda I)\vec{v}= \vec{0}
(A−λI)v=0
当矩阵代表的变换空间压缩到更低维度的时候,才会存在一个非0向量,使得它和矩阵的乘积为零向量,而对应的矩阵行列式为0
即
d
e
t
(
A
−
λ
I
)
=
0
\huge 即det (A - \lambda I)=0
即det(A−λI)=0
用特征向量的意义在于,新的矩阵一定是对角矩阵,对角元对应特征值
证明:它所处的坐标系的基向量在变换中只进行了缩放
意义在于:
可以先变换到特征基,在坐标中计算100次幂,然后转回标准坐标
(那样岂不是可以加速矩阵快速幂,只用O(n^3+nlogk)) !!!
yyc说上面那个早就有了,我还是太naive了 Q − 1 A Q Q^{-1}AQ Q−1AQ
11 抽象向量空间
求导是线性变换
线性算子和线性变换的意思其实是一样的
线性的严格定义
满足可加性&成比性(一阶齐次)
线性变换保持向量加法和向量数乘运算
**求导是线性变换
**
求导也可以写成矩阵:
公理(Axioms)
只要遵循上面这些公理就是向量,向量的形式并不重要(箭头,一组数,函数,pi生物……)
12 克莱姆法则 几何解释
高斯消元会更快
正交变换:不改变点积的矩阵变换,它们使基向量变换后依然保持单位长度,且互相垂直
相当于旋转矩阵,刚体变换,没有拉伸、压缩、变形
方便计算:
所有面积的缩放比例都等于给定的行列式