【写在最前面的话】下面是关于《线性代数的本质》视频课程的笔记内容,这里仅仅是一些个人摘记笔记,并没有细致讨论线性代数
线性代数的本质
1 向量究竟是什么?
物理专业学生的角度
vectors are arrows pointing in space
只要以上的两个特征相同,你可以自由移动一格向量而保持它不变
计算机专业学生的视角
vectors are ordered lists of number
数学家
向量可以表示任何东西,只要保证两个向量相加以及数乘是有意义的
在线代中,向量通常以原点作为起点
一个向量的坐标由一对数构成,这对数指导你如何从向量起点出发到达它的尖端(向量终点)
两个向量相加
( 1 2 ) + ( 3 − 1 ) = ( 1 + 3 2 + ( − 1 ) ) \binom{1}{2}+\binom{3}{-1}= \binom{1+3}{2+(-1)} (21)+(−13)=(2+(−1)1+3)
数乘
Scaling,几何角度看是缩放,实际上是数乘
In fact,throughout linear algebra,one of the main things that numbers do is scale vectors
实际上无论你如何看待向量都是可以的,或把向量看做空间中的箭头(这种观点恰好有漂亮的数值表示与之对应),或把向量看做数字列表(这种观点又恰好有漂亮的几何意义与之对应),线代的效用很少体现在这些观点的其中一个上,而更多地体现在它能够在这些观点中相互转化
e.g.
(1)线代为数据分析提供了一条将大量数据列表概念化、可视化的渠道
(2)线代给物理学家和计算机图形程序员提供了一种语言通过机器能处理的数字来描述并操作空间
2 线性组合、张成的空间与基
The idea of adding together two scaled vectors
we could have chosen different basis vectors,and gotten a completely reasonable,new coordinate system
每当我们用数字描述向量时,它都依赖于我们正在使用的基
如果固定其中一个标量,让另一个标量自由变化,所产生的向量的终点会描绘出一条直线
(1)大部分情况下,对于一对初始向量,你能到达平面中的每一个点,所有二维点尽在掌握
(2)当两个初始向量恰好共线时,所产生的向量终点被限制在一条直线上
(3)两个都是零向量,那就只能乖乖待在原点上了
vector vs. point
想象所有二维向量填满平面时,将会变得十分的拥挤。所以,为了应对这种情况,通常我们就用向量的终点代表向量
what does the span of 3d vectors look like ?
(1)如果第三个向量恰好落在前两个向量所张成的平面上,它们所张成的空间不变,仍是一个平面
(2)当如果随机选一个向量,它几乎不可能落在前两个向量所张成的平面中,这样由于第三个向量指向不同的方向,我们就能得到所有的三维向量
Linear dependent(线性相关)
你有多个向量,并且可以移除其中一个而不减小张成的空间,当这种情况发生时,我们称它们 “线性相关的”
换句话说,也就是其中一个向量可以表示为其他向量的线性组合,因为这个向量已经落在其他向量张成的空间中
另一方面,如果所有向量都给张成的空间增添了新的维度,它们就被称为是 “线性无关的”
Technical definition of basis(基)
A basis of a vector space is a set of linearly independent vectors that span the full space
向量空间的一组基是张成该空间向量的一个线性无关向量组
3 矩阵与线性变化
如果一个变换具有以下两条性质,我们就称它是线性的:
- 直线变换后任然保持为直线
- 原点保持固定
How would you describe one of these numerically ?
那么你可以只根据变换后的
i
⃗
\vec{i}
i 和
j
⃗
\vec{j}
j 就推出变化后的
v
⃗
\vec{v}
v
What about the other way around?
To sum up:
Linear transformations are way to move around space such the grid lines remain parallel and evenly spaced and such that the origin remains fixed
Matrices give us a language to describe these transfoemations,where the columns represent those cooddinates. And matrix-vector multiplication is just a way to compute what that transformation does to a given vector
4 矩阵乘法与线性变换复合
简单解释一下 错切:
Multiplying two matrices like this has the geotric meaning of applying one transformation then another
M
1
M
2
≠
M
2
M
1
M_1M_2\neq M_2M_1
M1M2=M2M1
a rotation and a shear vs. a shear and a rotation
结合律
( A B ) C = A ( B C ) = A B C (AB)C=A(BC)=ABC (AB)C=A(BC)=ABC
read from right to left
三维空间中的线性变化
行列式
The determinant of a transformation
只需要检验一个矩阵的行列式是否为 0,我们就能了解这个矩阵所代表的变换是否将空间压缩到更小的维度上
How can you scale area by a negative number ?
like, d e t ( [ 1 2 3 4 ] ) = − 2 det\left ( \begin{bmatrix} 1 & 2\\ 3 & 4 \end{bmatrix}\right )=-2 det([1324])=−2
Feels like flipping space
(如果把二维空间想象成一张纸,这个变换就像是把纸翻到了另一面)
d
e
t
(
[
1
2
3
4
]
)
=
−
2
det\left ( \begin{bmatrix} 1 & 2\\ 3 & 4 \end{bmatrix}\right )=-2
det([1324])=−2,which means that space gest flipped over and areas are scaled by a factor of 2
What about 3D tramsformations ?
行列式为 0,则意味着整个空间被压缩为零体积的东西,也就是一个平面一条直线或者一个点
What would d e t ( M ) < 0 det(M)<0 det(M)<0 mean for 3D ?
右手准则变到左手准则
6 逆矩阵、列空间与零向量
现在这个方程组的解依赖于矩阵
A
A
A 所代表的变换是将空间挤压到一条直线或一个点等低维空间,还是保持像初始状态一样的完整空间
d e t ( A ) = 0 o r d e t ( A ) ≠ 0 det(A)=0\ or\ det(A)\neq 0 det(A)=0 or det(A)=0
Inverse transformation (倒带)
但是行列式为 0 时,与这个方程组有关的变换将空间压缩到更低的维度上,此时没有逆变换,你不能将一条线 “ 解压缩 ” 为一个平面。这样,就会要求将一个单独的向量变换为一整条线的向量,但函数只能将一个输入变换一个输出,必然会映射为多个向量
Solutions can still exist when d e t ( A ) = 0 det(A)=0 det(A)=0
Rank 1
当变换的结果为一条直线时,也就是说结果是一维的
Rank 2
如果变换后的向量落在某个二维平面上
Rank ↔ \leftrightarrow ↔ Number of demensions in the output
矩阵的列告诉你基向量变换后的位置,这些变换后的基向量张成的空间就是所有可能的变换的结果,换句话说,列空间就是矩阵的列所张成的空间
秩的定义是列空间的维数
Full rank → \rightarrow → it equals the number of columns
The zero vector will always be included in the column space
For a full rank transformation, the only vector that lands at the origin is the zero vector itself
对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,也就是说会有一系列列向量在变换后成零向量
e.g. 如果一个二维线性变换将空间压缩到一条直线上,那么沿某个不同方向直线上(非平行关系)的所有向量就被压缩到原点
如果一个三维线性变换将空间压缩到一个平面上,同样也会有一整条线上的向量在变换后落在原点。如果一个三维线性变换将空间压缩到一条直线上,那么就有一整个平面上的向量在变换后落在原点
变换后落在原点的向量的集合,就被称为 “ 零空间 ”(Null Space) 或 “ 核 ” (Kernel)
零空间的概念有助于我们理解所有可能的解的集合是什么样的
What about nonsquare matrics ?
If you see a
3
×
2
3\times2
3×2 matrix,
(
3
1
4
1
5
9
)
\begin{pmatrix} 3 & 1\\ 4 & 1\\ 5 & 9 \end{pmatrix}
⎝⎛345119⎠⎞
You can know that it has the geometric interpretation of mapping two dimensions to three dimensions
Since the two columns indicate that the input space has two basis vectors,and the three rows indicate that the landing spots for each of these basis vectors are described with three separate coordinates
2 维
→
\rightarrow
→ 1维
1 维空间实际上就是数轴,所以这样的空间变换接收二维向量,然后产生一个数,因为空间挤压。在这里考虑网格线平行等距分布,显然有些困难。所以,在这种情况下,形象理解线性性质的含义就是说,如果在一条直线有一系列等距分布的点,在映射到数轴之后它们将保持等距分布
这个变换实际上与点积紧密相关
7 点积与对偶性
首先在介绍点积之前,我们需要明确一点,就是点积既可以从数的角度去理解,也可以从集合的角度去理解
从数的角度定义点积,
Two vectors of the same dimension
(
2
7
1
)
⋅
(
8
2
8
)
=
2
×
8
+
7
×
2
+
1
×
8
\begin{pmatrix} 2\\ 7\\ 1 \end{pmatrix}\cdot \begin{pmatrix} 8\\ 2\\ 8 \end{pmatrix}=2\times8+7\times2+1\times8
⎝⎛271⎠⎞⋅⎝⎛828⎠⎞=2×8+7×2+1×8
从集合的角度定义点积,
方向大致相同时,
v
⃗
⋅
w
⃗
>
0
\vec{v}\cdot \vec{w}>0
v⋅w>0
垂直时,
v
⃗
⋅
w
⃗
=
0
\vec{v}\cdot \vec{w}=0
v⋅w=0
方向相反时,
v
⃗
⋅
w
⃗
<
0
\vec{v}\cdot \vec{w}<0
v⋅w<0
另外, 点积与顺序是无关的,也就是说对于上面的例子有
( 4 1 ) ⋅ ( 2 − 1 ) = ( l e n g t h o f p r o j e c t e d v → ) ( l e n g t h o f w → ) \begin{pmatrix} 4\\ 1 \end{pmatrix}\cdot \begin{pmatrix} 2\\ -1 \end{pmatrix}=(length\ of\ projected\ \overrightarrow{v} )(length\ of\ \overrightarrow{w} ) (41)⋅(2−1)=(length of projected v)(length of w)
考虑从几何上作出解释:
另外,我们佐以公式证明理解 “ 与顺序无关 ”(即点积是满足交换律的)
a ⃗ ⋅ b ⃗ = ∣ a ∣ ∣ b ∣ c o s θ = ∣ b ∣ ∣ a ∣ c o s θ = b ⃗ ⋅ a ⃗ \vec a\cdot\vec b=\left | a \right |\left | b \right |cos\theta=\left | b \right |\left | a \right |cos\theta=\vec b\cdot\vec a a⋅b=∣a∣∣b∣cosθ=∣b∣∣a∣cosθ=b⋅a
至此我们介绍完了点积的定义,但是不知道你有想过,为什么点积运算就可以表示为投影的形式了呢?
要回答这个问题,我们需要细致的讨论一下对偶性
首先,我们需要讨论一下多维空间到一维空间的线性变换
从数的角度来理解, 1 × 2 1\times 2 1×2 矩阵和二维列向量之间的关系就是:将列向量放倒,从而得到与之相关的矩阵;或将矩阵立直,从而得到与之相关的向量
从几何的角度来理解, 将向量转化为数的线性变换和这个向量本身有着一定的联系
考虑如下的分析过程,
【注】图(a)给出了关于线性变换 L L L 从二维到一维数值上的关系,图(b)给出了空间上的变换关系
现在,我们来考虑一下更一般的情况
于是,我们就得到如下的关系
Bravo !!!
我们学过要高等代数中的向量空间,也学习过矩阵乘法,但是我们从来没想过两者原来有这样的对应关系
这就是为什么向量与向量的点积可以解释为首先朝着给定的向量投影,然后将投影的值与给定向量长度相乘
这里有一个很重要的启发:
当你在任何时候看到一个线性变换,它的输出空间是一维数轴时,无论其如何定义,空间中必会存在唯一的向量 u ⃗ \vec u u 与之相关,就这一意义而言,应用线性变换 L ( u ⃗ ) L(\vec u) L(u) 和与向量 u ⃗ \vec u u 做点积是一样的
下面我们具体解释一下什么叫做对偶性?
对偶性 ⇔ \Leftrightarrow ⇔ 自然而又出乎意料的对应关系
我们很难给对偶性下一个准确的定义,粗略地说可以指两种数学事物之间的一定对应关系(就像矩阵乘法和向量点积之间的对应关系一样)
故,我们可以说一个向量的对偶是由它定义的线性变换(或者,如上面例子一样,可以说成:一个多维空间到一维空间的线性变化的对偶是多维空间中的某个特定向量)
总结:
- 从表面上看,点积是理解投影的有利几何工具,并且方便检验两个向量指向是否相同
- 两个向量进行点积,就是一个向量转变为线性变化,作用于另外一个向量上
- 最后我们给出一个哲学一点的说法,但是理解了这个说法,对于我们深入学习线性代数有着很大的帮助:向量:线性变换的物质载体(向量就仿佛是一个特定变换的概念性记号)
(这里小编说一点的题外话,如果你是 machine learning 方面的小白的话,想想 PCA 你就能理解为什么说 “ 向量是线性变化的物质载体 ” 了)
8.1 叉积的标准介绍
∣ v ⃗ × w ⃗ ∣ = A r e a o f p a r a l l e l o g r a m |\vec v \times \vec w| =\ Area\ of\ parallelogram ∣v×w∣= Area of parallelogram
越接近于垂直
⇒
\Rightarrow
⇒
v
⃗
×
w
⃗
\vec v \times \vec w
v×w is bigger,如下图(a)
越接近于同向
⇒
\Rightarrow
⇒
v
⃗
×
w
⃗
\vec v \times \vec w
v×w is smaller,如下图 (b)
(
3
v
⃗
)
×
w
⃗
=
3
(
v
⃗
×
w
⃗
)
(3\vec v)\times \vec w = 3(\vec v \times \vec w)
(3v)×w=3(v×w)
严格来说,真正的叉积是通过两个三维向量生成一个新的三维向量
可是有两个向量都垂直于
v
⃗
\vec v
v 和
w
⃗
\vec w
w 张成的平面,取那个方向呢?
依据右手准则
设 a ⃗ = ( a x , a y , a z ) \vec a =(a_x,a_y, a_z) a=(ax,ay,az), b ⃗ = ( b x , b y , b z ) \vec b=(b_x, b_y, b_z) b=(bx,by,bz)
a ⃗ × b ⃗ = ∣ i j k a x a y a z b x b y b z ∣ = ( a y b z − a z b y ) i ⃗ + ( a z b x − a x b z ) j ⃗ + ( a x b y − a y b x ) k ⃗ \vec a \times \vec b=\begin{vmatrix} i & j & k \\ a_x & a_y & a_z\\ b_x & b_y & b_z \end{vmatrix}=(a_yb_z-a_zb_y)\vec i+(a_zb_x-a_xb_z)\vec j+(a_xb_y-a_yb_x)\vec k a×b=∣∣∣∣∣∣iaxbxjaybykazbz∣∣∣∣∣∣=(aybz−azby)i+(azbx−axbz)j+(axby−aybx)k
8.2 以线性变换的眼光看叉积
根据前面前面讲解的内容,每当看到一个从空间到数轴的线性变换,都能够找到一个向量,该向量被称为这个变换的对偶向量,使得应用线性变换与对偶向量点成等价
叉积的运算给出了此过程的一个鲜活实例
- 根据 v ⃗ \vec v v 和 w ⃗ \vec w w 定义一个三维到一维的线性变换
- 找到它的对偶向量
- 说明这个对偶向量就是 v ⃗ × w ⃗ \vec v \times \vec w v×w
可能光是给出上面的语言描述还是很难理解,下面我们一步步分析上面三句话的意思
假设存在这样一个函数,
这个函数的几何意义是,对于任何一个输入的向量
(
x
,
y
,
z
)
(x, y, z)
(x,y,z),你都考虑由它和
v
⃗
\vec v
v 和
w
⃗
\vec w
w 确定的平行六面体得到的提及,然后根据定向确定符号
显然,这个函数是线性的,一旦你理解了线性性,我们就可以开始引入对偶性的概念了
因为这个函数是线性的,我们可以通过矩阵乘法来描述这个函数
根据前面说的,一个向量的对偶是由它定义的线性变换,因此我们可以将上面的线性函数转换为 P ⃗ \vec P P
我们要找的就是这个特殊的三维向量
P
⃗
\vec P
P,使得
P
⃗
\vec P
P 与其他任一向量
(
x
,
y
,
z
)
(x, y, z)
(x,y,z) 的点积等价于一个 3×3 矩阵的行列式,即
P 1 x + P 2 y + P 3 z = x ( v 2 w 3 − v 3 w 2 ) + y ( v 3 w 1 − v 1 w 3 ) + z ( v 1 w 2 − v 3 2 w 1 ) P_1x+P_2y+P_3z=x(v_2w_3-v_3w_2)+y(v_3w_1-v_1w_3)+z(v_1w_2-v_32w_1) P1x+P2y+P3z=x(v2w3−v3w2)+y(v3w1−v1w3)+z(v1w2−v32w1)
在计算叉积的过程中,在矩阵中插入 i ⃗ 、 j ⃗ 、 k ⃗ \vec i、\vec j、\vec k i、j、k 不过是传递一个信号,告诉我们应该把这些系数解读为一个向量坐标
P ⃗ ⋅ [ x y z ] = ( l e n g t h o f p r o j e c t i o n ) × ( l e n g t h o f P ⃗ ) \vec P\cdot \begin{bmatrix} x\\ y\\ z \end{bmatrix}=(length\ of\ projection)\times(length\ of\ \vec P) P⋅⎣⎡xyz⎦⎤=(length of projection)×(length of P)
换句话说,我们找到的线性函数对于给定向量的作用是将向量投影到垂直于
v
⃗
\vec v
v 和
w
⃗
\vec w
w 的直线上,然后将投影长度和
v
⃗
、
w
⃗
\vec v、\vec w
v、w 张成的平行四边形的面积相乘
于是,说明向量 P ⃗ \vec P P 满足以下性质:
- 垂直于 v ⃗ \vec v v 和 w ⃗ \vec w w 张成的平行四边形
- 且其长度为该平行四边形的面积大小
即我们从几何的角度说明 v ⃗ × w ⃗ = P ⃗ \vec v \times \vec w=\vec P v×w=P
9 基变换
Coordinate system | Basis vectos | |
---|---|---|
Ours | ![]() | ![]() |
Jennifer’s | ![]() | ![]() |
在 Jennifer 中,我们有如下的关系
(
2
−
1
1
1
)
(
−
1
2
)
=
−
1
(
2
1
)
+
2
(
−
1
1
)
=
(
−
4
1
)
\begin{pmatrix} 2 & -1\\ 1 & 1 \end{pmatrix}\begin{pmatrix} -1\\ 2 \end{pmatrix}=-1\begin{pmatrix} 2\\ 1 \end{pmatrix}+2\begin{pmatrix} -1\\ 1 \end{pmatrix}=\begin{pmatrix} -4\\ 1 \end{pmatrix}
(21−11)(−12)=−1(21)+2(−11)=(−41)
(
2
−
1
1
1
)
\begin{pmatrix} 2 & -1\\ 1 & 1 \end{pmatrix}
(21−11) 的每一列为 Jennifer 的基向量,这个矩阵可以看作是一个线性 变换,它将我们的基向量
i
⃗
\vec i
i 和
j
⃗
\vec j
j,也就是我们眼中的
(
1
,
0
)
(1, 0)
(1,0) 和
(
0
,
1
)
(0, 1)
(0,1) 变换为 Jennifer 的基向量,也就是他眼中的
(
1
,
0
)
(1, 0)
(1,0) 和
(
0
,
1
)
(0, 1)
(0,1)
How to translate a matrix ?
An expression like
A
−
1
M
A
A^{-1}MA
A−1MA suggests a mathmatical sort of empathy
M M M 代表一种你所见的变换,而外侧两个矩阵代表着转移作用,也就是视角上的变换,矩阵乘积仍然代表着同一个变换,只不过是从其他人的角度来看的
10 特征向量与特征值
在这个例子中,基向量
i
⃗
\vec i
i 就是如上的一个特殊向量,
i
⃗
\vec i
i 张成的空间始终是
x
x
x 轴
从矩阵第一列可知, i ⃗ \vec i i 变成了原来的 3 倍,但仍然留在 x x x 轴上,此外,因为线性变换的性质, x x x 轴上的任何其他向量都只是被拉伸为原来的 3 倍,因此也就留在它们张成的空间里
同理,有个略显隐藏的向量 ( − 1 , 1 ) (-1,1) (−1,1),它在变换中也留在自己张成的空间里,而最终被拉伸为原来的 2 倍,于是,根据线性性质,任何一个处在它所张成的对角线上的向量也仅仅被拉伸为原来的 2 倍
特征值即衡量特征向量在变换中拉伸或压缩比例的因子
Example. 3D Rotation
如果你能找到这个旋转的特征向量,那么你找到的就是旋转轴。而且,把一个三维旋转看成绕某个轴旋转一定角度,要比考虑相应的 3×3 矩阵直观很多
顺便一提,在这种情况下,相应的特征值必须为 1
对于任一矩阵描述等的线性变换,你可以通过将矩阵的列看作变换后的基向量来理解它
但是,理解线性变换作用的关键往往较少依赖于特定的坐标系,更好的办法是求出它的特征向量和特征值
根据前面的描述,我们很容易得出一个在特征理论中常见的式子
A v ⃗ = λ v ⃗ A\vec v=\lambda\vec v Av=λv
与数 λ \lambda λ 相乘 ⇔ \Leftrightarrow ⇔ 与这个矩阵相乘 λ E \lambda E λE
于是, λ v ⃗ = ( λ E ) v ⃗ \lambda \vec v=(\lambda E)\vec v λv=(λE)v ⇒ \Rightarrow ⇒ ( A − λ E ) v ⃗ = 0 (A-\lambda E)\vec v=0 (A−λE)v=0,我们就得到了特征方程,对于 v ⃗ \vec v v,我们要求的是非零向量
当且仅当矩阵代表的变换将空间压缩到更低的维度时,才会存在一个非零向量使得矩阵和它的乘积为零向量
s
q
u
i
s
h
i
f
i
c
a
t
i
o
n
⇒
d
e
t
(
A
−
λ
E
)
=
0
squishification \Rightarrow det(A-\lambda E)=0
squishification⇒det(A−λE)=0
e.g.
d e t ( [ 2 − 1 2 1 3 − 1 ] ) = 0 det\left ( \begin{bmatrix} 2-1 & 2\\ 1 & 3-1 \end{bmatrix} \right )=0 det([2−1123−1])=0
当
λ
=
1
\lambda=1
λ=1 时,
(
A
−
λ
E
)
(A-\lambda E)
(A−λE) 将空间压缩到一条直线上,这意味着存在一个非零向量
v
⃗
\vec v
v,使得
(
A
−
λ
E
)
v
⃗
=
0
(A-\lambda E)\vec v=0
(A−λE)v=0,且
A
v
⃗
=
1
⋅
v
⃗
A\vec v=1\cdot \vec v
Av=1⋅v
Notice: a single eigenvalue can have more than a line full of eigenvectors