0. 前言
最近观看了B站上著名up主“3Blue1Brown”的系列视频——“线性代数的本质”,通过使用各种动画对很多线性代数的知识进行几何解释,非常形象生动。看了之后感觉自己对线性代数的很多概念有了更加形象的理解。其中的很多内容非常有帮助,在此记录下来,以便随时复习查阅。
其中主要通过几何解释来深化对线性代数的理解,因此例子也主要针对二维和三维向量或空间进行。up主还为了制作这些视频自己开发了一个基于Python的动画引擎,我已经收藏起来计划有空了玩玩,感兴趣的朋友们也可以去看看–>传送门
1. 向量
1.1 向量的意义
不同角度看待向量的方式不同
- 物理学:向量是空间中的箭头,两个基本性质为长度和方向,可以在空间中自由平移。
- 计算机:向量是一个有序的数组,顺序很重要,不同的位置往往代表不同意义。
- 数学:尝试概括所有情况,只要保证向量相加和数乘有意义即可。
在此进行一下个人小结:数学是高度抽象的学科,从各种经验知识或解决专业问题的过程中发现规律,并总结出一个抽象的模型。而数学的奇妙之处就在于,人们很可能在另外一个专业领域发现很多现象也符合之前的抽象数学模型。更牛逼的操作就是在尝试解决其它问题时,发现问题之间的内在联系,主动去修改、调试之前的模型,使其也可以用来辅助解决新问题。
1.2 向量的两个基本运算
1.2.1 向量相加
v ⃗ + w ⃗ = [ x 1 y 1 ] + [ x 2 y 2 ] = [ x 1 + x 2 y 1 + y 2 ] \vec{v} + \vec{w} = \begin{bmatrix} x_1 \\ y_1 \end{bmatrix} + \begin{bmatrix} x_2 \\ y_2 \end{bmatrix} = \begin{bmatrix} x_1+x_2 \\ y_1+y_2 \end{bmatrix} v+w=[x1y1]+[x2y2]=[x1+x2y1+y2]
可以把向量看做一种运动,运动与向量类似,一样拥有方向和长度两种基本属性。向量的加和操作就相当于先后沿两个向量进行运动,加和结果向量表示的运动也就等效于两次运动的加和。
1.2.2 向量数乘
c
v
⃗
=
c
×
[
x
y
]
=
[
c
x
c
y
]
c\vec{v} = c \times \begin{bmatrix} x \\ y \end{bmatrix} = \begin{bmatrix} cx \\ cy \end{bmatrix}
cv=c×[xy]=[cxcy]
代表了向量的缩放(Scaling),乘数被称为标量(Scalar),表示向量的长度变化,乘以正数方向不变,乘以负数方向反向。
1.3 向量的坐标表示
向量的坐标表示就是向量的两种基本运算的组合。如在二维平面的坐标系统中,常将朝向x轴和y轴正方向的单位长度的单位向量作为基向量(Basis Vector):
i
⃗
=
[
1
0
]
;
j
⃗
=
[
0
1
]
\boldsymbol{\vec{i}} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} ; \quad \boldsymbol{\vec{j}} = \begin{bmatrix} 0 \\ 1 \end{bmatrix}
i=[10];j=[01]
则在二维平面上的所有向量均可结合对这两个基向量的数乘和加和操作来表示:
v
⃗
=
[
x
y
]
=
x
i
⃗
+
y
j
⃗
=
x
[
1
0
]
+
y
[
0
1
]
\boldsymbol{\vec{v}} = \begin{bmatrix} x \\ y \end{bmatrix} = x\boldsymbol{\vec{i}} + y\boldsymbol{\vec{j}} = x\begin{bmatrix} 1 \\ 0 \end{bmatrix} + y\begin{bmatrix} 0 \\ 1 \end{bmatrix}
v=[xy]=xi+yj=x[10]+y[01]
从几何角度看,向量 [ x y ] \begin{bmatrix} x \\ y \end{bmatrix} [xy]也就是从原点出发,指向 ( x , y ) (x,y) (x,y)这个点的一个“箭头”。
1.4 线性相关
类似向量坐标表示中,对一组向量 ( x 1 ⃗ , x 2 ⃗ , ⋯ , x n ⃗ ) (\boldsymbol{\vec{x_1}},\boldsymbol{\vec{x_2}},\cdots,\boldsymbol{\vec{x_n}}) (x1,x2,⋯,xn)进行数乘之后再加和,结果向量 a ⃗ = c 1 x 1 ⃗ + c 2 x 2 ⃗ + ⋯ + c n x n ⃗ \boldsymbol{\vec{a}}=c_1\boldsymbol{\vec{x_1}}+c_2\boldsymbol{\vec{x_2}}+\cdots+c_n\boldsymbol{\vec{x_n}} a=c1x1+c2x2+⋯+cnxn称为该组向量的线性组合(Linear Combination),也称结果向量 a ⃗ \boldsymbol{\vec{a}} a与向量 ( x 1 ⃗ , x 2 ⃗ , ⋯ , x n ⃗ ) (\boldsymbol{\vec{x_1}},\boldsymbol{\vec{x_2}},\cdots,\boldsymbol{\vec{x_n}}) (x1,x2,⋯,xn)是线性相关(Linear Dependent)。与之相反,如果向量 a ⃗ \boldsymbol{\vec{a}} a不能通过对向量组 ( x 1 ⃗ , x 2 ⃗ , ⋯ , x n ⃗ ) (\boldsymbol{\vec{x_1}},\boldsymbol{\vec{x_2}},\cdots,\boldsymbol{\vec{x_n}}) (x1,x2,⋯,xn)进行数乘、加和两种基本操作表示出来,则称其是线性无关或线性独立的(Linear Independent)。
1.5 基向量和向量空间
如上所述,对于一组n个向量 ( x 1 ⃗ , x 2 ⃗ , ⋯ , x n ⃗ ) (\boldsymbol{\vec{x_1}},\boldsymbol{\vec{x_2}},\cdots,\boldsymbol{\vec{x_n}}) (x1,x2,⋯,xn),这组向量所有的线性组合的集合,就称为这组向量所张成的线性空间(Span)。由于在这个线性空间里的所有向量都可以通过 ( x 1 ⃗ , x 2 ⃗ , ⋯ , x n ⃗ ) (\boldsymbol{\vec{x_1}},\boldsymbol{\vec{x_2}},\cdots,\boldsymbol{\vec{x_n}}) (x1,x2,⋯,xn)这组向量表示出来,因此往往也就称这组向量为对应空间的基向量(Basis Vectors)。
其实基的严格定义为:向量空间的一组基(Basis),是指张成该空间的一个线性无关的向量的集合。注意到其中要求基向量之间均线性无关(即其中任何一个向量均不是其他向量的线性组合),线性无关的n个向量也就能张成n维空间。实际应用中为了方便计算和表示,往往也就取互相垂直的单位向量作为基向量。如三维空间中基向量为
i
⃗
=
[
1
0
0
]
;
j
⃗
=
[
0
1
0
]
;
k
⃗
=
[
0
0
1
]
\boldsymbol{\vec{i}} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} ; \quad \boldsymbol{\vec{j}} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} ; \quad \boldsymbol{\vec{k}} = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}
i=⎣⎡100⎦⎤;j=⎣⎡010⎦⎤;k=⎣⎡001⎦⎤
通过这组互相垂直单位基向量所表示的坐标系统称为笛卡尔直角坐标系(Cartesian Coordinates),下面不进行特殊说明的情况下均在该坐标系统中描述。