1.4 Vector Spaces(向量空间)
在之前我们已经了解了线性方程组并知道了怎么解他们。也知道线性方程组能够用矩阵形式表示,接下来我们主要要就向量所在的结构空间。
在第一篇博客,我们简单介绍了什么是向量。接下来将它形式化,我们首先来介绍群
1.4.1 Groups(群)
群在计算机中很重要。除了提供对集合的操作的基本框架外,在密码学、编码理论和图形学中也被大量使用。
群的定义:我们设一个集合G,以及一个操作⊗,如果G满足一下几个特性,则(G,⊗)是一个群:
- 封闭性: ∀x, y ∈ G : x ⊗ y ∈ G
- 结合律: ∀x, y, z ∈ G : (x ⊗ y) ⊗ z = x ⊗ (y ⊗ z)
- 单位元:∃e ∈ G ∀x ∈ G : x ⊗ e = x且 e ⊗ x = x
- 逆元:∀x ∈ G ∃y ∈ G : x ⊗ y = e 且 y ⊗ x = e.
逆元不是意味着x与1/x,而是根据⊗操作而确定的。比如说加法群中一个数的逆元一般就是他的相反数
如果群满足交换律,则他也是一个阿贝尔群。
让我们看一下( R n ∗ n , ⋅ R^{n*n},\cdot Rn∗n,⋅):定义了矩阵乘法的方阵的集合。
- 由矩阵乘法的定义可以得出来封闭性和结合律
- 在乘法运算中,单位矩阵 I n I_n In就是单位元
- 如果A是正则的,则
A
−
1
A^{-1}
A−1是
A
A
A的逆元。这种情况下(
R
n
∗
n
,
⋅
R^{n*n},\cdot
Rn∗n,⋅)是一个群,叫做一般线性群。
一般线性群定义:像上面这样的正则矩阵A ∈ R n ∗ n R^{n*n} Rn∗n的,并且定义了矩阵乘法运算的集合,叫一般线性群。当然由于矩阵乘法是不可交换的,所以他不是一个阿贝尔群。
1.4.2 Vector Spaces(向量空间)
在我们讨论群的时候,我们只讨论了集合G内部的操作。接下来我们不光讨论集合内部的操作(向量的加法),还有集合外部的操作(向量乘以标量)。
向量空间的定义:一个实值向量空间V=
(
V
,
+
,
⋅
)
(V,+,\cdot)
(V,+,⋅)是一个具有这两种操作的集合
V
V
V。
+
:
V
×
V
→
V
+:V×V→ V
+:V×V→V
⋅
:
R
×
V
→
V
· :R×V→ V
⋅:R×V→V
且他满足以下四个条件
- ( V , + ) (V,+) (V,+)是一个阿贝尔群
- 满足分配律:
- ∀ λ ∈ R , x , y ∈ V : λ ⋅ ( x + y ) = λ ⋅ x + λ ⋅ y \forall \lambda\in R,x,y\in V:\lambda\cdot(x+y)=\lambda\cdot x+\lambda \cdot y ∀λ∈R,x,y∈V:λ⋅(x+y)=λ⋅x+λ⋅y
- ∀ λ , ψ ∈ R , x ∈ V : ( λ + ψ ) ⋅ x = λ ⋅ x + ψ ⋅ x \forall \lambda,\psi\in R,x\in V:(\lambda+\psi)\cdot x=\lambda\cdot x+\psi \cdot x ∀λ,ψ∈R,x∈V:(λ+ψ)⋅x=λ⋅x+ψ⋅x(这两个一个是标量乘向量格一个是标量和乘向量)
- 结合律(具有外部操作的): ∀ λ , ψ ∈ R , x ∈ V : λ ⋅ ( ψ ⋅ x ) = ( λ ψ ) ⋅ x \forall \lambda,\psi\in R,x\in V:\lambda\cdot(\psi\cdot x)=(\lambda\psi)\cdot x ∀λ,ψ∈R,x∈V:λ⋅(ψ⋅x)=(λψ)⋅x
- 有关于外部操作的单位元:
∀
x
∈
V
:
1
⋅
x
=
x
\forall x\in V:1\cdot x=x
∀x∈V:1⋅x=x
其中 x ∈ V x\in V x∈V叫做向量,对于(V,+)
来说,单位元是零向量,内部操作“+”叫做向量加法。 λ ∈ R \lambda\in R λ∈R叫做标量,外部操作 ⋅ \cdot ⋅ 叫做标量的乘法。
下面来看几个例子:
-
V
=
R
n
,
n
∈
N
V= R^n,n\in N
V=Rn,n∈N是一个向量空间。他的加法定义为:对于任意的
X
,
Y
∈
R
n
:
X,Y\in R^n:
X,Y∈Rn:
X
+
Y
=
(
x
1
,
⋯
,
x
n
)
+
(
y
1
,
⋯
,
y
n
)
=
(
x
1
+
y
1
,
⋯
,
x
n
+
y
n
)
X+Y=(x_1,\cdots,x_n)+(y_1,\cdots,y_n)=(x_1+y_1,\cdots,x_n+y_n)
X+Y=(x1,⋯,xn)+(y1,⋯,yn)=(x1+y1,⋯,xn+yn);
他的标量乘法定义为:对任意的 λ ∈ R , X ∈ R n : λ X = λ ( x 1 , ⋯ , x n ) = ( λ x 1 . ⋯ , λ x n ) \lambda\in R,X\in R^n: \lambda X=\lambda(x_1,\cdots,x_n)=(\lambda x_1.\cdots,\lambda x_n) λ∈R,X∈Rn:λX=λ(x1,⋯,xn)=(λx1.⋯,λxn) -
V
=
R
m
×
n
,
m
,
n
∈
N
V=R^{m×n},m,n\in N
V=Rm×n,m,n∈N也是一i个向量空间。他的加法定义为:对于任意的
A
,
B
∈
V
:
A
+
B
=
[
a
11
+
b
11
⋯
a
1
n
+
b
1
n
⋮
⋮
a
m
1
+
b
m
1
⋯
a
m
n
+
b
m
n
]
A,B\in V: A+B=\left[ \begin{matrix} a_{11}+b_{11}& \cdots & a_{1n}+b_{1n}\\ \vdots& & \vdots\\ a_{m1}+b_{m1}& \cdots & a_{mn}+b_{mn} \end{matrix} \right]
A,B∈V:A+B=⎣⎢⎡a11+b11⋮am1+bm1⋯⋯a1n+b1n⋮amn+bmn⎦⎥⎤;标量乘法定义为:
λ
A
=
[
λ
a
11
⋯
λ
a
1
n
⋮
⋮
λ
a
m
1
⋯
λ
a
m
n
]
\lambda A=\left[ \begin{matrix} \lambda a_{11}& \cdots & \lambda a_{1n}\\ \vdots& & \vdots\\ \lambda a_{m1}& \cdots &\lambda a_{mn} \end{matrix} \right]
λA=⎣⎢⎡λa11⋮λam1⋯⋯λa1n⋮λamn⎦⎥⎤;
注意:当(V,+,·)表示标准向量乘法和标量加法时以后我们就用V表示(V,+,·);用 x x x表示向量。且不再区分 R n 和 R n × 1 R^n和R^{n×1} Rn和Rn×1
1.4.3 向量子空间
字面意思,如果存在V是一个向量空间,而
U
∈
V
U\in V
U∈V也满足成为跟V上的操作一样向量空间的定义,(就是说V有矩阵乘而U也有这样,可以把他看成一个在V内部缩小的V)则U就是V的向量子空间。向量子空间是机器学习中的一个重要概念,之后咱们会学到。
如果U是V的向量子空间则U就能继承V的许多性质,比如阿贝尔群啊结合律,单位元等等。而为了确定U是不是V的向量子空间,我们必须要证明
- U ≠ 0 U\neq 0 U=0且零元在U内部
- 跟V一样,进行外部运算和内部运算结果都 ∈ \in ∈U
- 对于每个向量空间V,他的平凡子空间是V和{0}