猴子都能看懂的向量空间和内积空间解释

各种中文教科书或百科上对向量空间 (Vector Space) 的解释都比较晦涩,尝试着写一篇通俗点的。 有初等数学基础的都能看懂。尽量避免使用线代术语。参考

向量空间干啥用的 (Why we need vector spaces)

它是一个数学概念,用来描述定理的。我们知道数学语言需要精确简洁,想象一下有这么个问题:

假设有一组数学对象——可以是单列向量、多项式、函数或者任何能相加或乘以一个数的东西并且这东西满足交换律结合律。现在要解关于这些对象的参数方程,我们可以用 blablabla 方法.....

显然这种描述方法既不精确也不简洁,不符合数学语言的基本要求。如果改用

设 V 是一个向量空间,要解关于 V 的参数方程可以.....

就好多了。

于是「向量空间」就成了替换前面那堆带着啰里吧嗦定语的数学对象的专用概念。

向量空间应用举例

先看三道题:

  • 题一: 在实数域 \(x_1,x_2,x_3 \in \mathbb{R}\) 中解三元一次方程组(线性方程组)

\[ \begin{aligned} 3x_1 + 2x_2 + 0x_3 = 8 \\ 1x_1 + 0x_2 + 1x_3 = 2 \\ 2x_1 + 3x_2 + 8x_3 = 7 \end{aligned} \]

这题也可以写成矩阵方程形式

\[ \begin{aligned} \begin{bmatrix} 3 & 2 & 0 \\ 1 & 0 & 1 \\ 2 & 3 & 8 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 8 \\ 2 \\ 7 \end{bmatrix} \end{aligned} \]

或者单列向量形式

\[ \begin{aligned} x_1 \begin{bmatrix} 3 \\ 1 \\ 2 \end{bmatrix} + x_2 \begin{bmatrix} 2 \\ 0 \\ 3 \end{bmatrix} + x_3 \begin{bmatrix} 0 \\ 1 \\ 8 \end{bmatrix} = \begin{bmatrix} 8 \\ 2 \\ 7 \end{bmatrix} \end{aligned} \]

之所以要写成单列向量形式是因为这种形式跟下面两题的题干更相似。

  • 题二:求解满足下列等式的 \(x_1,x_2,x_3 \in \mathbb{R}\)

\[ \begin{aligned} x_1(3t^2+5t-2)+x_2(0t^2-t+6)+x_3(9t^2+0t+1) = 6t^2+9t+2 \end{aligned} \]

  • 题三:求解满足下列等式的 \(x_1,x_2,x_3,x_4,\cdots \in \mathbb{C}\)

\[ \begin{aligned} x_1\sin (\pi t)+x_2\sin (2\pi t)+x_3\sin (3\pi t) + \cdots = e^{5it} \end{aligned} \]

注:题三在物理学中可以根据已知粒子动量计算其能量

上面这三题有这样的共性:等式左边都是若干个系数 \(x_i\) 乘以 某种数学对象 (题一的单列矩阵、题二的多项式,题三的函数),等式右边是几个 同种数学对象 分别乘以系数之后求和,求和结果也是 同种数学对象

这样的 数学对象 只需要满足 1. 可以乘一个系数2. 可以相加 这两个条件,那就可以放进类似的问题中求对应的系数。

题一是初中题,大家都会解。这里的 某种数学对象单列矩阵,或者可以简单称为 向量,它的系数是实数。但是题二和题三如果没学过相应的定理,解起来就没那么「显然」或「易得」了。

对,解这样的题是有公式和诀窍的,哪怕把题一里的向量换成多项式或函数,系数从实数换成复数,都有非常方便的解法。我们并不需要特意花很长时间分别去学怎么解多项式求和的系数或函数求和的系数。

而在学这么个公式或定理前,我们首先需要把适用这个定理的 某种数学对象 用数学语言定义出来。

数学家们发明了一个词 向量空间 (Vector Space) 来专门代指这种数学对象。于是该定理就可以用

设 V 是一个向量空间

而不是

假设有一组数学对象——可以是单列向量、多项式、函数或者任何能相加或乘以一个数的东西并且这东西满足交换律结合律 blablabla

来开头。嗯,考虑到我们是解释向量空间的,该定理的具体内容不做展开。

域的定义

要严格定义向量空间需要先严格定义 域(field),也就是题一题二里的实数域 \(\mathbb{R}\) 和题三的复数域 \(\mathbb{C}\) 那样用来乘以单列矩阵、多项式或函数的量的集合。

当然,严格的域定义要用到环论里的交换环。考虑到不是谁都学过抽象代数,我们可以不那么严格地把域定义写成

域的定义:如果数的集合 \(\mathit{F}\),对于任意 \(a,b \in \mathit{F}\), 有 \[a+b,a-b,ab,a/b(b\neq 0) \in \mathit{F}\]\(\mathit{F}\) 是一个域。

我们已经熟悉不少数集,譬如自然数集、整数集、有理数集、实数集、复数集

\[ \begin{aligned} \mathit{N} &= \{0,1,2,3,\ldots \} \\ \mathit{Z} &= \{\ldots ,-3,-2,-1,0,1,2,3,\ldots \} \\ \mathit{Q} &= \{\frac {a}{b} | a,b \in \mathit{Z}, b \neq 0 \} \\ \mathit{R} &= 全体实数 \\ \mathit{C} &= \{a+bi | a,b \in \mathit{R} \} \end{aligned} \]

这里面只有有理数集 \(\mathit{Q}\) 、实数集 \(\mathit{R}\) 和复数集 \(\mathit{Z}\) 是域。譬如自然数 3、5 两个数相减结果不是自然数。同样的 3、5 属于整数但 3/5 不是整数。

虽然肯定还有其他(奇怪的)域,但在这里你把域简单理解成 \(\mathbb{Q},\mathbb{R},\mathbb{C}\) 其中之一是没啥问题的。

向量空间的定义

向量空间的定义包含四个要素:集合 \(\mathit{V}\) (\(\mathit{V}\) 的元素称为向量)、域 \(\mathbb{F}\) (\(\mathbb{F}\) 的元素称为标量) 以及两种运算:

  • 向量加法 (vector addtion): 两个向量 \(\pmb{v},\pmb{w} \in \mathit{V}\) 相加得到第三个向量,写作 \(\pmb{v}+\pmb{w} \in \mathit{V}\)
  • 标量乘法 (scalar multiplication): 一个标量 \(c \in \mathbb{F}\) 和一个向量 \(\pmb{v} \in \mathit{V}\) 相乘得到一个新向量,写作 \(c \pmb{v} \in \mathit{V}\)

且必须满足以下定律:

  1. 向量加法结合律:对任意 \(\pmb{u},\pmb{v},\pmb{w} \in \mathit{V}\) ,满足 \((\pmb{u}+\pmb{v})+\pmb{w}=\pmb{u}+(\pmb{v}+\pmb{w})\) ;

  2. 存在零向量:\(\mathit{V}\) 中有个向量,写作 \(\pmb{0}\),读作零向量。对任意 \(\pmb{u} \in \mathit{V}\) ,满足 \(\pmb{u} + \pmb{0} = \pmb{u}\) ;

  3. 存在负向量:对任意 \(\pmb{u} \in \mathit{V}\)\(\mathit{V}\) 中都有一个对应的向量,写作 \(-\pmb{u}\) ,读作 \(\pmb{u}\) 的负向量,满足 \(\pmb{u} + (-\pmb{u}) = \pmb{0}\) ;

  4. 标量乘法结合律:对任意 \(a,b \in \mathbb{F}\)\(\pmb{u} \in \mathit{V}\) ,满足 \((ab)\pmb{u}=a(b\pmb{u} )\) ;

  5. 分配律:对任意 \(a,b \in \mathbb{F}\)\(\pmb{u},\pmb{v} \in \mathit{V}\) ,满足 \((a+b)\pmb{u} =a\pmb{u} + b\pmb{u}\)\(a(\pmb{u} + \pmb{v} )=a\pmb{u} + a\pmb{v}\)

  6. 幺正性:全部 \(\pmb{u} \in \mathit{V}\) 都满足 \(1\pmb{u} = \pmb{u}\)

可能课本里面的定义会把其中几条分开写,或者把向量加法和标量乘法的部分内容放到定律里。本质上没有差别。

不过第一次看到这些定义大多数人应该还是很懵的,这也是为啥我写这篇文章。下面稍微举几个例子来辅助理解。

向量空间实例 —— 单列矩阵(向量)\(^n\mathbb{R}\)

先从大家最熟悉的单列矩阵(向量)在实数域 \(\mathbb{R}\) 上的向量空间来举例。

\(\mathit{V}\) 是所有 n 乘 1 列的实数矩阵集合,标量域是实数域 \(\mathbb{R}\) ,且向量加法和标量乘法定义为:

\[ \begin{aligned} \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} = \begin{bmatrix} x_1+y_1 \\ x_2+y_2 \\ \cdots \\ x_n+y_n \end{bmatrix} \qquad c \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} = \begin{bmatrix} cx_1 \\ cx_2 \\ \cdots \\ cx_n \end{bmatrix} \end{aligned} \]

下面验证上述要素可以组成实数域 \(\mathbb{R}\) 上的向量空间。

  1. 向量加法结合律:

\[ \begin{aligned} \Biggl( \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} \Biggr)+ \begin{bmatrix} z_1 \\ z_2 \\ \cdots \\ z_n \end{bmatrix} &= \begin{bmatrix} x_1+y_1 \\ x_2+y_2 \\ \cdots \\ x_n+y_n \end{bmatrix} + \begin{bmatrix} z_1 \\ z_2 \\ \cdots \\ z_n \end{bmatrix} \\ &= \begin{bmatrix} (x_1+y_1)+z_1 \\ (x_2+y_2)+z_2 \\ \cdots \\ (x_n+y_n)+z_n \end{bmatrix} \\ &= \begin{bmatrix} x_1+(y_1+z_1) \\ x_2+(y_2+z_2) \\ \cdots \\ x_n+(y_n+z_n) \end{bmatrix} \\ &= \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} +\Biggl( \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} + \begin{bmatrix} z_1 \\ z_2 \\ \cdots \\ z_n \end{bmatrix} \Biggr) \end{aligned} \]

  1. 零向量显然是全零单列矩阵:

\[ \begin{aligned} \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ \cdots \\ 0 \end{bmatrix} = \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} \end{aligned} \]

  1. 负向量显然是原单列矩阵中所有元素的相反数组成的单列矩阵:

\[ \begin{aligned} \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} -x_1 \\ -x_2 \\ \cdots \\ -x_n \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ \cdots \\ 0 \end{bmatrix} \end{aligned} \]

  1. 标量乘法结合律:

\[ \begin{aligned} (ab) \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} = \begin{bmatrix} (ab)x_1 \\ (ab)x_2 \\ \cdots \\ (ab)x_n \end{bmatrix} = \begin{bmatrix} a(bx_1) \\ a(bx_2) \\ \cdots \\ a(bx_n) \end{bmatrix} = a\Biggl(b \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} \Biggr) \end{aligned} \]

  1. 分配律:

\[ \begin{aligned} a\Biggl( \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} \Biggr) &= \begin{bmatrix} a(x_1+y_1) \\ a(x_2+y_2) \\ \cdots \\ a(x_n+y_n) \end{bmatrix} \\ &= \begin{bmatrix} ax_1+ay_1 \\ ax_2+ay_2 \\ \cdots \\ ax_n+ay_n \end{bmatrix} = a \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} +a \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} \end{aligned} \]

  1. 幺正性:

\[ \begin{aligned} 1 \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} = \begin{bmatrix} 1x_1 \\ 1x_2 \\ \cdots \\ 1x_n \end{bmatrix} = \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} \end{aligned} \]

其他向量空间实例

  1. \(\mathit{V}\) 是所有 n 乘 1 列的复数矩阵集合,标量域是复数域 \(\mathbb{C}\) ,且向量加法和标量乘法定义为:

\[ \begin{aligned} \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} + \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_n \end{bmatrix} = \begin{bmatrix} x_1+y_1 \\ x_2+y_2 \\ \cdots \\ x_n+y_n \end{bmatrix} \qquad c \begin{bmatrix} x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} = \begin{bmatrix} cx_1 \\ cx_2 \\ \cdots \\ cx_n \end{bmatrix} \end{aligned} \]

验证上述要素可以组成向量空间的步骤跟实数域上的单列矩阵步骤完全相同。

  1. \(\mathit{V}\) 是所有次数小于等于 n 且系数为实数的多项式的集合,标量域为 \(\mathbb{R}\) 。向量加法和标量乘法定义为:

\[\begin{aligned} (a_0+a_1t+a_2t^2+ \cdots + a_nt^n) &+(b_0+b_1t+b_2t^2+ \cdots + b_nt^n) \\ &=(a_0+b_0)+(a_1+b_1)t+(a_2+b_2)t^2+ \cdots + (a_n+b_n)t^n \end{aligned}\]

\[c(a_0+a_1t+a_2t^2+ \cdots + a_nt^n)=ca_0+ca_1t+ \cdots +ca_nt^n\]

易证得上述要素组成满足定律的向量空间。

  1. \(\mathit{V}\) 无限实数数列的集合 \((x_1,x_2,x_3, \ldots )\),标量域为 \(\mathbb{R}\) 。向量加法和标量乘法定义为:

\[(x_1,x_2,x_3, \ldots )+(y_1,y_2,y_3, \ldots )=(x_1+y_1,x_2+y_2,x_3+y_3, \ldots )\] \[c(x_1,x_2,x_3, \ldots )=(cx_1,cx_2,cx_3, \ldots)\]

易证上述要素组成满足定律的向量空间。

  1. \(\mathit{V}\) 是所有连续函数 \(f: \mathbb{R} \to \mathbb{R}\) 的集合,标量域为 \(\mathbb{R}\) 。向量加法和标量乘法定义为:

\(f+g\) 是定义成 \((f+g)(a) = f(a)+f(b)\) 的连续函数

\(cf\) 是定义成 \((cf)(a) = cf(x)\) 的连续函数

要让上述向量加法和标量乘法的定义成立的前提是 \(\mathit{V}\) 的两个元素相加的和以及一个元素乘以标量的积依然是 \(\mathit{V}\) 的元素。根据连续函数的性质定理

「在某点连续的有限个函数经有限次和、差、积、商(分母不为0) 运算,结果仍是一个在该点连续的函数。」

可确定上述前提成立。

因此易证得上述要素组成满足定律的向量空间。

  1. \(\mathit{V}\) 是所有满足等式 \[f''=-f\] 的函数 \(f: \mathbb{R} \to \mathbb{R}\) 集合,标量域为 \(\mathbb{R}\) 。例: \(\sin (x)\)\(\cos (x)\) 都是 \(\mathit{V}\) 的元素。向量加法和标量乘法定义同上。

同样我们需要验证向量加法和标量乘法的和积依然属于 \(\mathit{V}\) 。令 \(f_1,f_2 \in \mathit{V}, c \in \mathbb{R}\) 有: \[(f_1+f_2)''=f_1''+f_2''=-f_1+-f_2=-(f_1+f_2)\] \[(cf_1)''=c(f_1'')=c(-f_1)=-(cf_1)\] 故向量加法和标量乘法成立。因此易证得上述要素组成满足定律的向量空间。

综上重点:向量空间并不是单单指上面例子中列举的单列矩阵集合、多项式集合、数列集合和连续函数集合,而是「集合,域,向量加法,标量乘法」四个要素组合在一起才叫向量空间!有些课本上设定向量空间的时候可能会省略部分要素,譬如:\(\mathit{V}\)\(3 \times 1\) 的实数向量空间。这么描述不是因为他们搞错也不是我这里搞错,而是因为有时候向量加法和标量乘法是「显而易见」的所以不再啰嗦追述。就像刚才那个例子 \(3 \times 1\) 的实数向量空间,显然包括了 \(3 \times 1\) 的单列矩阵集合,标量域 \(\mathbb{R}\) ,以及同例1的加法乘法。

内积空间定义

如果你确实已经看懂了前半部分关于向量空间的解释,那理解内积空间应该就水到渠成了。

我们已经知道向量空间的定义包含向量加法和标量乘法这两条运算,内积空间就是在向量空间的定义基础上加上了一条运算——内积。 设 \(\mathit{V}\) 是域 \(\mathbb{F}\)上的向量空间,则其内积运算记作 \[\langle \pmb{u},\pmb{v} \rangle = c\] 其中 \(\pmb{u},\pmb{v} \in \mathit{V}\), \(c \in \mathbb{F}\)

注:此处的 \(\mathbb{F}\) 仅指实数域 \(\mathbb{R}\) 或复数域 \(\mathbb{C}\),其他域上的内积空间暂不涉及。

同向量加法和标量乘法类似,内积运算同样需要满足若干个定律。

以下设 \(\pmb{u},\pmb{v},\pmb{w} \in \mathit{V}\)\(a,b \in \mathbb{F}\)

  1. 共轭对称性 (Conjugate symmetry):\(\langle\pmb{u},\pmb{v}\rangle = \overline{\langle \pmb{v},\pmb{u} \rangle}\) ;

当标量域是实数域 \(\mathbb{R}\) 时,\(\overline{\langle \pmb{v},\pmb{u} \rangle}=\langle \pmb{v},\pmb{u} \rangle\) 。因此在实数域上共轭对称性就等于对称性 \(\langle\pmb{u},\pmb{v}\rangle = \langle \pmb{v},\pmb{u} \rangle\)

  1. 首参线性 (Linearity in the first argument):\(\langle a\pmb{u} + b\pmb{v}, \pmb{w} \rangle = a\langle \pmb{u}, \pmb{w} \rangle +b\langle \pmb{v}, \pmb{w} \rangle\)

把首参线性和共轭对称结合一下易得 \(\langle \pmb{u}, a\pmb{v}+b\pmb{w} \rangle = \overline{a}\langle \pmb{u}, \pmb{v} \rangle +\overline{b}\langle \pmb{u}, \pmb{w} \rangle\) , 可以称作二参共轭线性 (Conjugate-linear in the second argument)。

  1. 正定性 (Positive-definiteness):如果 \(\pmb{u}\) 不是零向量,则 \(\langle \pmb{u}, \pmb{u} \rangle > 0\)

同理如果 \(\langle \pmb{u}, \pmb{u} \rangle = 0\),则 \(\pmb{u} = \pmb{0}\)

总结

综上所属,不管是向量空间还是内积空间,都是「人为定义」的,用来方便描述公式定理。并不是说某个数学概念,譬如单列矩阵,它天生就是向量空间。而是要人为给定四个要素「集合,域,向量加法,标量乘法」,其中向量加法和标量乘法的运算规则也是由人确定好了并且满足那几个定律,它才是个向量空间。同理,我们需要给定「集合,域,向量加法,标量乘法,内积」这五个要素,并且按照定律的要求把向量加法、标量乘法、内积这集中运算定义好,才能构造好一个内积空间。所以内积可能在欧几里得向量空间那样定义成 \[\langle (x_1,x_2,\ldots ,x_n)^T, (y_1,y_2,\ldots ,y_n)^T \rangle = \sum_{i=1}^{n} x_iy_i \] 也可以在函数空间里定义成 \[\langle f,g \rangle = \int_{a}^{b} f(t) \overline{g(t)} dt\]

只要构造出来的内积运算符合定义中规定的定律,就是个合法的内积空间。

之后的由内积空间衍伸出去的希尔伯特空间之类的概念,相信只要你真的搞懂了本文的解释,也不会有太大的理解障碍。衷心希望本文能对读者的数学学习提供一定的帮助。毕竟数学多有意思啊,如果因为一两个概念没说清楚而卡住就太可惜了。