向量
-
列向量:即仅包含一列的矩阵,向量是他的简称
-
零向量:所有元素都为零的向量
向量通常写成
n
×
1
n\times 1
n×1矩阵的形式
u
=
[
u
1
⋮
u
n
]
{\rm u}= \begin{bmatrix} u_1\\ \vdots\\ u_n \end{bmatrix}
u=
u1⋮un
可以用二维向量举一个小的例子
u
=
[
x
y
]
{\rm u}= \begin{bmatrix} x\\y \end{bmatrix}
u=[xy]
并且,它可以与其他同类的向量进行加减(平行四边形法则)
也支持和实数做标量乘法(与每一行的元素进行乘法)
二维向量可以在二维空间中作为一个点存在。
线性组合
在向量空间 R n \mathbb{R}^n Rn 中,线性组合的定义如下:
定义
给定 n n n 个向量 v 1 , v 2 , … , v n ∈ R n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n \in \mathbb{R}^n v1,v2,…,vn∈Rn 和对应的标量 c 1 , c 2 , … , c n ∈ R {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n \in \mathbb{R} c1,c2,…,cn∈R,它们的线性组合是一个形如:
y = c 1 v 1 + c 2 v 2 + ⋯ + c n v n y = {\rm c}_1{\rm v}_1 + {\rm c}_2{\rm v}_2 + \cdots + {\rm c}_n{\rm v}_n y=c1v1+c2v2+⋯+cnvn
的向量 y y y,其中:
- v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,…,vn 是基向量(或一般向量)。简称为向量
- c 1 , c 2 , … , c n {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n c1,c2,…,cn 是标量系数。简称为标量
- y y y 是由这组向量和标量生成的向量。
几何意义
-
线性组合生成平面或空间:
- 若 v 1 {\rm v}_1 v1 和 v 2 {\rm v}_2 v2 是 R 2 \mathbb{R}^2 R2 中的非零向量,那么它们的线性组合生成一个平面。
- 在 R 3 \mathbb{R}^3 R3 中,三组线性独立的向量的线性组合可以生成整个三维空间。(通俗一点,就是不存在共线)
-
线性组合的范围:
- 如果 v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,…,vn 是线性无关的向量组,则它们的线性组合可以覆盖整个向量空间 R n \mathbb{R}^n Rn。
- 如果是线性相关的向量组,则线性组合只覆盖部分空间。
矩阵表示
线性组合可以用矩阵乘法形式表示:
y = [ v 1 v 2 ⋯ v n ] [ c 1 c 2 ⋮ c n ] y = \begin{bmatrix} {\rm v}_1 & {\rm v}_2 & \cdots & {\rm v}_n \end{bmatrix} \begin{bmatrix} {\rm c}_1 \\ {\rm c}_2 \\ \vdots \\ {\rm c}_n \end{bmatrix} y=[v1v2⋯vn] c1c2⋮cn
可以这么理解:列向量与对应元素为权的线性组合就是 y y y
其中:
- [ v 1 v 2 ⋯ v n ] \begin{bmatrix} {\rm v}_1 & {\rm v}_2 & \cdots & {\rm v}_n \end{bmatrix} [v1v2⋯vn] 是列向量矩阵。
- [ c 1 c 2 ⋮ c n ] \begin{bmatrix} {\rm c}_1 \\ {\rm c}_2 \\ \vdots \\ {\rm c}_n \end{bmatrix} c1c2⋮cn 是标量系数向量。
注意:
- 向量矩阵的列数 = 标量系数向量的行数
- 这与点积十分类似(在结尾,我会补充点积的相关内容)
线性组合的关键性质
-
零向量的生成:
如果所有标量 c 1 , c 2 , … , c n {\rm c}_1, {\rm c}_2, \dots, {\rm c}_n c1,c2,…,cn 都为零,则 y = 0 y = 0 y=0,即零向量总是可以通过线性组合生成。 -
线性相关性:
-
如果存在一组非全为零的标量使得:
c 1 v 1 + c 2 v 2 + ⋯ + c n v n = 0 , {\rm c}_1{\rm v}_1 + {\rm c}_2{\rm v}_2 + \cdots + {\rm c}_n{\rm v}_n = 0, c1v1+c2v2+⋯+cnvn=0,
则向量组 v 1 , v 2 , … , v n {\rm v}_1, {\rm v}_2, \dots, {\rm v}_n v1,v2,…,vn 是线性相关的。 -
否则,向量组是线性无关的。
-
-
线性组合生成的空间:
- 一组向量的所有线性组合的集合称为该向量组的生成空间,记为 s p a n ( v 1 , v 2 , … , v n ) \mathrm{span}({\rm v}_1, {\rm v}_2, \dots, {\rm v}_n) span(v1,v2,…,vn)。
举例
-
在 R 2 \mathbb{R}^2 R2 中,给定 v 1 = [ 1 0 ] {\rm v}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} v1=[10] 和 v 2 = [ 0 1 ] {\rm v}_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} v2=[01]:
y = c 1 v 1 + c 2 v 2 = [ c 1 c 2 ] . y = c_1 {\rm v}_1 + c_2 {\rm v}_2 = \begin{bmatrix} c_1 \\ c_2 \end{bmatrix}. y=c1v1+c2v2=[c1c2].任何 y ∈ R 2 y \in \mathbb{R}^2 y∈R2 都可以表示为这两个向量的线性组合。
-
在 R 3 \mathbb{R}^3 R3 中,若给定 v 1 = [ 1 0 0 ] {\rm v}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} v1= 100 , v 2 = [ 0 1 0 ] {\rm v}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} v2= 010 , v 3 = [ 0 0 1 ] {\rm v}_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} v3= 001 ,则它们的线性组合覆盖整个 R 3 \mathbb{R}^3 R3。
11月23日补充
举个例子,二维空间 R 2 \mathbb{R}^2 R2
在二维空间中,我们需要 至少两个线性无关的向量 才能表示整个空间
R
2
\mathbb{R}^2
R2。
R
2
=
{
v
=
[
x
y
]
∣
x
,
y
∈
R
}
.
\mathbb{R}^2 = \left\{ \mathbf{v} = \begin{bmatrix} x \\ y \end{bmatrix} \, \big| \, x, y \in \mathbb{R} \right\}.
R2={v=[xy]
x,y∈R}.
- 这是一个 二维向量空间,也就是说,任何向量都由两个自由变量 (x, y) 决定,它是线性组合的集合,即 S p a n ( { v 1 , v 2 } ) = { c 1 v 1 + c 2 v 2 ∣ c 1 , c 2 ∈ R } . Span(\{v_1,v_2\})=\{c_1v_1+c_2v_2∣c_1,c_2∈R\}. Span({v1,v2})={c1v1+c2v2∣c1,c2∈R}.,什么线性组合?形如 v = c 1 v 1 + c 2 v 2 \mathbf{v} = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 v=c1v1+c2v2,例如刚才的 { v 1 , v 2 } \{v_1,v_2\} {v1,v2},就是线性组合的集合,也可以说是 v v v的集合。
- 它是由两个方向上的向量通过线性组合“张成”的(这两个方向通常称为“基向量,
x hat
与y hat
”)。
或者使用其他基向量
- 例如,向量:
v 1 = [ 1 1 ] , v 2 = [ − 1 2 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix}, \quad \mathbf{v}_2 = \begin{bmatrix} -1 \\ 2 \end{bmatrix} v1=[11],v2=[−12]
也是 R 2 \mathbb{R}^2 R2的一组基。因为它们是线性无关的,可以张成一个二维空间。
冗余向量
- 在
R
2
\mathbb{R}^2
R2中,任何向量都可以用基向量的线性组合表示:
v = c 1 v 1 + c 2 v 2 , \mathbf{v} = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2, v=c1v1+c2v2,
如果多出一个向量,它是基向量的线性组合,比如:
v
3
=
[
2
3
]
=
2
v
1
+
(
−
1
)
v
2
,
\mathbf{v}_3 = \begin{bmatrix} 2 \\ 3 \end{bmatrix} = 2 \mathbf{v}_1 + (-1) \mathbf{v}_2,
v3=[23]=2v1+(−1)v2,
那么这个向量不再增加任何新的方向,它被称为“冗余向量”。
冗余向量可以写进 R 2 \mathbb{R}^2 R2的表达式,它并不影响维度,因为它是线性相关的,可以用线性无关向量给替换掉。
如何找到冗余向量
- 通用方法:遍历查找线性无关向量是否能够表示这个向量,能表示说明冗余
- 使用行列式(只适用于方阵),如果行列式结果不为0说明有冗余向量,然后再进行通用方法判断(不确定,我不是很懂)
- 先化简为行最简形式R R E F,然后通过主元列判断是否是冗余向量,如果不是主元列说明是冗余变量。
如何判断一个冗余向量是否被唯一确定?
- 用 RREF 找到相关的冗余向量:
- 将所有向量作为列向量,构造矩阵,化为行最简形式(RREF)。
- 主元列对应线性无关的向量,非主元列对应冗余向量。
- 如果只有一个冗余向量,且该向量是问题向量,则它被唯一确定。
- 如果存在多个冗余向量:
- 冗余向量之间不存在依赖关系:
- 每个冗余向量可以由主元列唯一表示。
- 问题向量被唯一确定。
- 冗余向量之间存在依赖关系:
- 冗余向量可以通过其他冗余向量与主元列组合表示。
- 问题向量的表示可能有多种形式,因此无法被唯一确定。
- 冗余向量之间不存在依赖关系:
矩阵的积
两个矩阵相乘,可以看作是B的每一个列向量与A进行一次乘法。最后构成一个新的矩阵。(点乘)
A
X
=
A
[
x
⃗
1
x
⃗
2
…
x
⃗
n
]
=
[
A
x
⃗
1
A
x
⃗
2
…
A
x
⃗
n
]
=
[
A
[
x
11
x
12
⋮
x
1
n
]
A
[
x
21
x
22
⋮
x
2
n
]
⋯
A
[
x
n
1
x
n
2
⋮
x
n
n
]
]
AX = A\left[\vec x_1 \vec x_2 \dots \vec x_n \right]=\left[A\vec x_1 \, A\vec x_2 \, \dots \, A\vec x_n \right]= \begin{bmatrix} A\begin{bmatrix} x_{11}\\x_{12} \\\vdots\\x_{1n} \end{bmatrix} A\begin{bmatrix} x_{21}\\x_{22} \\\vdots\\x_{2n} \end{bmatrix} \cdots A\begin{bmatrix} x_{n1}\\x_{n2} \\\vdots\\x_{nn} \end{bmatrix} \end{bmatrix}
AX=A[x1x2…xn]=[Ax1Ax2…Axn]=
A
x11x12⋮x1n
A
x21x22⋮x2n
⋯A
xn1xn2⋮xnn
类似于n次矩阵方程的计算。
点积
两个相同维数的向量
[ 2 7 1 ] ⋅ [ 8 2 8 ] = 2 ⋅ 8 + 7 ⋅ 2 + 1 ⋅ 8 = 38 \begin{bmatrix} 2\\ 7\\ 1\\ \end{bmatrix}\cdot \begin{bmatrix} 8\\ 2\\ 8\\ \end{bmatrix}=2\cdot 8 +7\cdot 2 +1\cdot 8 =38 271 ⋅ 828 =2⋅8+7⋅2+1⋅8=38
现在有两个向量,假设它们是用来表示三维坐标即(x,y,z)。我们只需要将它们配对相乘相加即可。
在几何上:A向量在B向量的投影长度 * B向量的长度。
- 锐角:正数
- 垂直:0
- 钝角:负数
为何点乘与顺序无关?
画图,然后分别做两个投影,我们会发现垂直线相交的点连接原点形成的线,正好是向量夹角的角平分线。即互为镜像。(当向量为单位长度时)
当向量不为单位长度时,我们可以理解为,先提出系数,然后再点乘单位向量
高维空间到低维空间
举一个例子。
当原空间为二维空间,要压缩要一维空间。
[!NOTE]
我们可以在二维空间上的y=x上取无数个间隔相同的点。在压缩之后,这些点将等距分布在一维空间上,即数轴上。–》线性变换
首先补充一下同一维度下的基向量的线性变换。 (基向量指的是i hat、j hat)
[
1
2
2
3
]
\begin{bmatrix} 1 &2\\ 2 &3 \end{bmatrix}
[1223]
这个2*2矩阵表示这个基向量线性变换的方法。
第一列是i hat的变换之后的位置(1,2)。同理,第二列…
使用它乘以同一维度的向量,就可以得到线性变换之后的新向量。
然后再进入到压缩到更低维度。举个例子,从二维到数轴。
[
1
2
]
[
1
3
]
=
4
⋅
1
+
3
⋅
(
−
1
)
[
1
2
]
[
1
3
]
=
4
⋅
1
+
3
⋅
(
−
1
)
\begin{align} \begin{bmatrix} 1 & 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \\[10pt] % 行间距可以调整,例如 10pt \begin{bmatrix} 1 \\ 2 \end{bmatrix} \begin{bmatrix} 1 \\ 3 \end{bmatrix} &= 4 \cdot 1 + 3 \cdot (-1) \end{align}
[12][13][12][13]=4⋅1+3⋅(−1)=4⋅1+3⋅(−1)
左边的矩阵表示Transform,右边的Vector表示原向量,结果是变换之后在数轴上的位置。
有没有发现,这和直接进行点乘,是一样的,只不过是将向量倾斜为矩阵了而已。
那么为什么?
以我的看法。线性变换1*2矩阵的二维平面表现是一个向量,让这个矩阵点乘向量,即让向量投影在这个矩阵表现的向量所在的直线数轴。
因而,一个压缩的线性代换完全可以用一个向量来表示,这展现了数学之美