从 \(\mathbb{F}^n\) 到公理化
在 1.A 节里,我们在 \(\mathbb{F}^n\) 上按坐标定义了加法与标量乘法,并逐一验证了交换律、结合律、分配律等运算规律。现在回过头看,那些验证有一个共同特点:它们最终都被归结为 \(\mathbb{F}\) 自身的运算规律,而从未真正用到"元素必须写成 \(n\) 个有序坐标"这一具体形式。换句话说,坐标只是载体;使这些运算规律成立的,是藏在背后的几条纯代数性质。
数学处理这类现象的标准手法是公理化 (axiomatization):把希望保留的性质列成一张清单,称为公理 (axioms);凡是满足这张清单的对象,不管其元素长什么模样,都冠以同一个名字,并作为一个统一的对象来研究。本节要做的正是这件事,所得到的概念——向量空间 (vector space)——将是贯穿全书的绝对主角。
回顾:\(\mathbb{F}^n\) 中元素 \(x=(x_1,\dots,x_n)\) 与 \(y=(y_1,\dots,y_n)\) 的加法 (addition),以及 \(\lambda\in\mathbb{F}\) 与 \(x\) 的标量乘法 (scalar multiplication) 定义为
\[ (x_1,\dots,x_n)+(y_1,\dots,y_n)=(x_1+y_1,\dots,x_n+y_n),\qquad \lambda(x_1,\dots,x_n)=(\lambda x_1,\dots,\lambda x_n). \]从几何上看,平面箭头的平行四边形加法与伸缩变换早已提示:这些运算规律并不依赖坐标的选取。箭头只是向量空间的一种"化身";公理化之后,我们将彻底摆脱对坐标与箭头的依赖,仅凭公理进行推理。这也正是本书书名 Done Right 的第一层含义:先把概念的内核提纯,再让结论自然流淌出来。
向量空间的定义
设 \(\mathbb{F}\) 是数域;在本书中,\(\mathbb{F}\) 总是实数域 \(\mathbb{R}\) 或复数域 \(\mathbb{C}\)(见 1.A 节的约定)。若集合 \(V\) 上定义了两个运算——加法,把每一对 \(u,v\in V\) 对应到元素 \(u+v\in V\);标量乘法,把每个 \(a\in\mathbb{F}\) 与每个 \(v\in V\) 对应到元素 \(av\in V\)——并且满足下表中的全部公理,则称 \(V\) 是 \(\mathbb{F}\) 上的向量空间 (vector space)。
| 编号 | 名称 | 公理内容(对所有 \(u,v,w\in V\) 与 \(a,b\in\mathbb{F}\) 成立) |
|---|---|---|
| 1 | 加法交换律 (commutativity) | \(u+v=v+u\) |
| 2 | 加法结合律 (associativity) | \((u+v)+w=u+(v+w)\) |
| 3 | 加法单位元 (additive identity) | 存在 \(0\in V\),使得对一切 \(v\in V\) 有 \(v+0=v\) |
| 4 | 加法逆元 (additive inverse) | 对每个 \(v\in V\),存在 \(w\in V\) 使得 \(v+w=0\) |
| 5 | 乘法单位元 (multiplicative identity) | \(1v=v\) |
| 6 | 分配律·向量端 (distributive properties) | \(a(u+v)=au+av\) |
| 7 | 分配律·标量端 (distributive properties) | \((a+b)v=av+bv\) |
几点说明。其一,公理 3 与公理 4 只要求满足要求的元素存在;唯一性并不是公理,而是稍后将要证明的命题 1.26 与 1.27。其二,原书把第 6、7 两条合并为一条"分配律",此处拆成两行以便逐条引用。其三,"运算的结果仍落在 \(V\) 中"(即封闭性)已经包含在"运算"一词的含义之中。其四,请特别留意记号的重载:公理 7 左端的 \(a+b\) 是数的加法,而 \(av+bv\) 中的加号是向量的加法;分配律正是连接数的世界与向量世界的桥梁。类似地,同一个符号 \(0\) 有时指数域中的零,有时指 \(V\) 中的零向量,需要依靠上下文分辨。
直观地读一读这张表:交换律与结合律保证向量加法 behaves 得像通常的数的加法;公理 3 说空间里有一个"原点";公理 4 说每个向量都能被"抵消"掉;公理 5 说"拉伸 1 倍"不改变向量;两条分配律则说"先相加再数乘"与"先数乘再相加"可以交换次序——在 \(\mathbb{R}^2\) 中,这正是相似三角形给出的几何事实。公理表读起来琐碎,但每一条都不可少,也不多余:第 5 节将看到,缺少任何一条都会使整套理论崩塌。
向量空间 \(V\) 中的元素称为向量 (vector),有时也称为点 (point)。当希望强调元素可以进行加法与标量乘法时,称其为向量;当只想强调它是集合 \(V\) 中的一员时,称其为点。加法单位元 \(0\) 称为零向量 (zero vector),而 \(\mathbb{F}\) 中的元素相应地称为标量 (scalar)。这种措辞上的自由,使我们既能说"函数空间中的向量",也能说"空间中的一点",而不产生任何歧义。
若标量域取 \(\mathbb{F}=\mathbb{R}\),则称 \(V\) 为实向量空间 (real vector space);若取 \(\mathbb{F}=\mathbb{C}\),则称 \(V\) 为复向量空间 (complex vector space)。请注意,标量域是定义的一部分:同一集合配上不同的标量域,得到的是不同的向量空间。例如 \(\mathbb{C}^n\) 按复标量运算是复向量空间;若只允许实标量,它也可以看成实向量空间。两种身份有本质区别——最直接的例证是:\(\mathbb{C}\) 作为自身上的向量空间是一维的,而作为 \(\mathbb{R}\) 上的向量空间则是二维的(维数的严格定义见第 2 章)。
最后是一点重要的心理准备:在抽象向量空间中,"向量"没有任何坐标、箭头或几何长度的含义;证明中唯一可以使用的设施,就是上表中的公理,以及由公理已经推出的结论。下面两节正是这种推理方式的首演。
例子:\(\mathbb{F}^n\)、数列空间与函数空间
公理清单是否有实例,决定这套理论是空谈还是利器。下面给出的例子远不止是"反例收集",它们分别对应本书后半部反复出现的三大类空间:有限维坐标空间、无穷序列空间与函数空间。
依记号 1.19 的运算,\(\mathbb{F}^n\) 是 \(\mathbb{F}\) 上的向量空间。逐条验证的工作在 1.A 中已经完成:每条公理都逐坐标成立,而每个坐标上的等式恰好是 \(\mathbb{F}\) 中的相应运算规律。事实上,公理表正是从这一验证中"提炼"出来的——1.A 是原型,1.B 是铸模。
记 \(\mathbb{F}^{\infty}\) 为全体无穷序列 \((x_1,x_2,\dots)\)(\(x_k\in\mathbb{F}\))构成的集合,运算仍按坐标进行:
\[ (x_1,x_2,\dots)+(y_1,y_2,\dots)=(x_1+y_1,\;x_2+y_2,\;\dots),\qquad \lambda(x_1,x_2,\dots)=(\lambda x_1,\;\lambda x_2,\;\dots). \]则 \(\mathbb{F}^{\infty}\) 是 \(\mathbb{F}\) 上的向量空间:验证与有限维情形逐字相同,因为每条公理在每一坐标处独立成立,而任何等式每次只涉及一个坐标。注意两点:其一,对序列的增长毫无限制,\((1,2,3,\dots)\) 与 \((1,1,1,\dots)\) 都是合法元素,也完全不需要谈论"收敛";其二,\(\mathbb{F}^{\infty}\) 不是任何 \(\mathbb{F}^n\),因为它的元素没有最后一个坐标——这是我们遇到的第一个"无穷维"的向量空间。
设 \(S\) 是一个非空集合。记 \(\mathbb{F}^{S}\) 为从 \(S\) 到 \(\mathbb{F}\) 的全体函数构成的集合。对 \(f,g\in\mathbb{F}^{S}\) 与 \(\lambda\in\mathbb{F}\),按逐点 (pointwise) 方式定义加法与标量乘法:
\[ (f+g)(s)=f(s)+g(s),\qquad (\lambda f)(s)=\lambda f(s)\qquad(s\in S). \]定理 1.25.\(\mathbb{F}^{S}\) 按上述运算构成 \(\mathbb{F}\) 上的向量空间。
证明. 首先,逐点定义出的 \(f+g\) 与 \(\lambda f\) 仍是 \(S\to\mathbb{F}\) 的函数,故两个运算封闭。下面逐条验证公理;设 \(f,g,h\in\mathbb{F}^{S}\),\(a,b\in\mathbb{F}\)。
- 交换律:对每个 \(s\in S\),有 \((f+g)(s)=f(s)+g(s)=g(s)+f(s)=(g+f)(s)\),故 \(f+g=g+f\)。
- 结合律:对每个 \(s\in S\),有 \(\bigl((f+g)+h\bigr)(s)=\bigl(f(s)+g(s)\bigr)+h(s)=f(s)+\bigl(g(s)+h(s)\bigr)=\bigl(f+(g+h)\bigr)(s)\)。
- 加法单位元:取零函数 \(0\in\mathbb{F}^{S}\),即 \(0(s)=0\) 对一切 \(s\in S\) 成立,则 \((f+0)(s)=f(s)+0=f(s)\)。
- 加法逆元:令 \((-f)(s)=-f(s)\),则 \(\bigl(f+(-f)\bigr)(s)=f(s)-f(s)=0\)。
- 乘法单位元:\((1f)(s)=1\cdot f(s)=f(s)\)。
- 两条分配律:例如 \(\bigl(a(f+g)\bigr)(s)=a\bigl(f(s)+g(s)\bigr)=af(s)+ag(s)=(af+ag)(s)\),另一条同理。
所有验证最终都逐点归结为 \(\mathbb{F}\) 中的运算规律,故 \(\mathbb{F}^{S}\) 是向量空间。
函数空间的观点统一了前面的例子:取 \(S=\{1,2,\dots,n\}\),一个函数 \(f\colon S\to\mathbb{F}\) 由 \(n\) 个值唯一决定,把它等同于 \(n\) 元组,\(\mathbb{F}^{S}\) 实质上就是 \(\mathbb{F}^{n}\);取 \(S\) 为正整数集,便得到数列空间 \(\mathbb{F}^{\infty}\)。因此,"函数"是比"坐标列表"更一般的向量观。
为了对函数空间获得直观,取 \(S=\mathbb{R}\)、\(\mathbb{F}=\mathbb{R}\):正弦函数 \(\sin\) 与余弦函数 \(\cos\) 是 \(\mathbb{R}^{\mathbb{R}}\) 中的两个向量,它们的和 \(\sin+\cos\) 仍是其中的向量(见图 2);标量乘法则表现为曲线的纵向伸缩,例如 \(2\sin\) 是振幅加倍的正弦波。今后处理微分方程的解集、傅里叶级数等对象时,"把函数当作向量"这一视角会带来巨大便利。
取 \(\mathbb{F}=\mathbb{R}\)。闭区间 \([a,b]\) 上全体实值连续函数之集,按上述逐点运算构成实向量空间:由分析学定理,两个连续函数之和、连续函数的实数倍仍连续,零函数连续;至于交换律、结合律、分配律等纯代数公理,则由于运算与 \(\mathbb{R}^{[a,b]}\)(即 \(S=[a,b]\) 时的 \(\mathbb{F}^{S}\))完全一致而自动继承。同样的论证适用于:区间上全体可微函数、全直线上的连续函数,以及全体实系数多项式 (polynomial)——多项式相加仍是多项式,数乘仍是多项式,零多项式充当零向量。
严格说来,这些例子都是"大空间中对运算封闭的子集"。下一节 1.C 将以子空间 (subspace) 的概念对这一现象作系统处理;眼下只需认识到:它们要么可以像定理 1.25 那样逐条验证公理,要么很快就能由子空间判别法一举得出。
公理的直接推论
下面几个结果的陈述看起来"显然之极",那是因为我们在数的运算中早已习以为常。但在抽象向量空间中,它们必须从公理推导出来——这也是练习"只用公理说话"的最好机会。以下设 \(V\) 是 \(\mathbb{F}\) 上的向量空间。
向量空间 \(V\) 的加法单位元是唯一的。
证明. 设 \(0\) 与 \(0'\) 都是 \(V\) 的加法单位元。因为 \(0'\) 是加法单位元,有 \(0=0+0'\);由加法交换律,\(0+0'=0'+0\);又因为 \(0\) 是加法单位元,\(0'+0=0'\)。串起来即
\[ 0=0+0'=0'+0=0', \]故加法单位元唯一。
每个 \(v\in V\) 的加法逆元是唯一的。
证明. 设 \(w\) 与 \(w'\) 都是 \(v\) 的加法逆元。利用公理 3(加法单位元)、公理 4(逆元的定义)、公理 2(结合律),得
\[ w = w+0 = w+(v+w') = (w+v)+w' = 0+w' = w'. \]故 \(v\) 的加法逆元唯一。这一串等式值得逐字体会:五个等号,各用一次公理,不多不少。
由命题 1.27,\(v\in V\) 的(唯一)加法逆元记作 \(-v\)。为方便起见,又记
\[ v-w = v+(-w)\qquad(v,w\in V), \]并称之为向量的减法。减法不是新运算,只是加法与取逆元的缩写。
从现在起,直到全书结束,符号 \(V\) 总表示 \(\mathbb{F}\) 上的某个向量空间(除非另有说明)。这一约定使我们免于在每个陈述中重复"设 \(V\) 是 \(\mathbb{F}\) 上的向量空间"。
对每个 \(v\in V\),有 \(0v=0\)。注意:左边的 \(0\) 是 \(\mathbb{F}\) 中的标量零,右边的 \(0\) 是 \(V\) 中的零向量——两者身份不同,这条命题正是沟通二者的桥梁之一。
证明. 由公理 7(标量端分配律)及 \(\mathbb{F}\) 中 \(0=0+0\),得
\[ 0v=(0+0)v=0v+0v. \]由公理 4 与记号 1.28,\(0v\) 有加法逆元 \(-(0v)\)。于是
\[ 0=0v+(-(0v))=(0v+0v)+(-(0v))=0v+\bigl(0v+(-(0v))\bigr)=0v+0=0v, \]其中第二个等号用加法结合律,第三个等号用 \(-(0v)\) 的定义,最后一个等号用加法单位元的性质。故 \(0v=0\)。
对每个 \(a\in\mathbb{F}\),有 \(a0=0\),这里的两个 \(0\) 均指 \(V\) 中的零向量。
证明. 由公理 6(向量端分配律)及 \(V\) 中 \(0=0+0\),得
\[ a0=a(0+0)=a0+a0. \]与命题 1.30 的证明完全平行,两边加上 \(-(a0)\):
\[ 0=a0+(-(a0))=(a0+a0)+(-(a0))=a0+\bigl(a0+(-(a0))\bigr)=a0+0=a0, \]故 \(a0=0\)。请留意 1.30 与 1.31 的对称性:一个从"零标量"出发,一个从"零向量"出发,证明结构一模一样。
对每个 \(v\in V\),有 \((-1)v=-v\)。
证明. 由公理 5(乘法单位元)、公理 7(标量端分配律)与命题 1.30,得
\[ v+(-1)v=1v+(-1)v=(1+(-1))v=0v=0. \]这表明 \((-1)v\) 是 \(v\) 的一个加法逆元;由命题 1.27 的唯一性,即得 \((-1)v=-v\)。
请用 \(\mathbb{R}^2\) 与函数空间各检验一遍这三条命题的直觉:把向量伸缩 \(0\) 倍得到原点;用标量 \(a\) 去乘零向量仍得零向量;把向量"翻转"(\((-1)v\))恰等于取其逆元。图中一切符合直觉——但切记,使它们在一切向量空间中成立的,不是图,而是上面那几行仅用公理的推理。这三个等式今后将不加声明地反复使用。
注记:向量不一定是箭头
"向量"一词源于物理学中的有向线段——箭头。公理化之后,向量的外延大大扩展:函数、无穷数列、多项式,统统都是向量。这不是文字游戏,而是抽象化的力量:任何一条只依靠公理证明的定理,都自动适用于所有满足公理的模型。例如命题 1.26–1.32,一旦证明,便对 \(\mathbb{F}^n\)、函数空间、多项式空间、数列空间同时成立,无须对每个模型重做一遍;以后各章中关于线性无关、基、维数、线性映射的全部理论,同样享受这一红利。
反过来,公理化也划定了边界:凡是公理未给出的性质,要么需要另行证明,要么可能根本失效。例如,公理并没有说向量可以比较大小,也没有说向量有"长度"或"角度"——这些要到第 6 章(内积空间)才登场;又如,只含一个零向量的集合 \(\{0\}\)(零向量空间)完全合法,因此"向量空间中一定有非零向量"并不成立。养成"每一步都问:这用的是哪条公理"的习惯,是从本节开始最重要的训练。
下一节 1.C 将讨论向量空间中"对运算封闭的子集",即子空间,并把本节的众多例子纳入统一框架。
练习
练习 1.B-1
设 \(a\in\mathbb{F}\),\(v\in V\)。证明:\((-a)v=-(av)\),并由此推出 \((-1)v=-v\) 与命题 1.30、1.31 的一致性。
解答由公理 7(标量端分配律)与命题 1.30,
\[ av+(-a)v=(a+(-a))v=0v=0, \]即 \((-a)v\) 是 \(av\) 的一个加法逆元;由命题 1.27 的唯一性得 \((-a)v=-(av)\)。取 \(a=1\) 便得 \((-1)v=-(1v)=-v\),与命题 1.32 一致;取 \(a=0\) 得 \((0)v=-(0v)\),结合命题 1.30 即 \(0=0\),自洽。
练习 1.B-2
在函数空间 \(\mathbb{F}^{S}\) 中,直接验证公理 6:\(a(f+g)=af+ag\)(\(f,g\in\mathbb{F}^{S}\),\(a\in\mathbb{F}\)),并说明验证为何必须"逐点"进行。
解答两个函数相等,当且仅当它们在每一点 \(s\in S\) 处的取值相等。对每个 \(s\in S\),
\[ \bigl(a(f+g)\bigr)(s)=a\bigl((f+g)(s)\bigr)=a\bigl(f(s)+g(s)\bigr)=af(s)+ag(s)=(af+ag)(s), \]其中第三个等号用的是 \(\mathbb{F}\) 中乘法对加法的分配律。由 \(s\) 的任意性即得 \(a(f+g)=af+ag\)。"逐点"是必需的:函数是一个整体对象,我们手上唯一的入口是它在各点的取值,因此一切关于函数的等式都必须化为各点处 \(\mathbb{F}\) 中的等式来检验。
练习 1.B-3
设 \(V=\mathbb{R}^2\),标量乘法照常,但把加法改为 \(u\boxplus v=(u_1+v_1,\;0)\)。问 \((V,\boxplus,\text{通常数乘})\) 是否构成向量空间?若不,指出失效的公理并证明之。
解答不构成。设 \(e=(e_1,e_2)\) 是加法单位元,则对一切 \(v=(v_1,v_2)\) 应有 \(v\boxplus e=(v_1+e_1,0)=(v_1,v_2)\),第二个分量要求 \(v_2=0\) 对一切 \(v_2\in\mathbb{R}\) 成立,矛盾。故公理 3(加法单位元)失效,从而不是向量空间。(顺带一提:交换律与结合律对此运算反而成立,公理 5 与两条分配律也成立;这说明"逐一检查公理"不可省略——直觉上"够好"的运算仍可能缺一条关键性质。)
练习 1.B-4
(a) 证明 \(\mathbb{C}\) 按通常的加法与标量乘法既是 \(\mathbb{C}\) 上的向量空间,也是 \(\mathbb{R}\) 上的向量空间。(b) \(\mathbb{R}\) 能否成为 \(\mathbb{C}\) 上的向量空间?
解答(a) 复数域自身的运算满足交换律、结合律、分配律等,故 \(\mathbb{C}\) 是 \(\mathbb{C}\) 上的向量空间。当只允许实标量时,实数与复数相乘仍是复数,且全部公理同样成立,故 \(\mathbb{C}\) 也是 \(\mathbb{R}\) 上的向量空间。(b) 不能:\(\mathbb{C}\) 上的向量空间要求标量乘法对每个 \(a\in\mathbb{C}\) 与 \(v\in\mathbb{R}\) 给出 \(\mathbb{R}\) 中的元素,但取 \(a=i\)、\(v=1\) 得 \(i\cdot 1=i\notin\mathbb{R}\),封闭性(它是"运算"一词的含义)被破坏。此题说明:谈论向量空间必须同时指明标量域。
练习 1.B-5
设 \(V=(0,\infty)\) 为全体正实数。对 \(x,y\in V\) 与 \(a\in\mathbb{R}\),定义 \(x\oplus y=xy\),\(a\odot x=x^{a}\)。证明:\(V\) 按此运算构成 \(\mathbb{R}\) 上的向量空间,并指出加法单位元与 \(x\) 的加法逆元。
解答逐条验证:交换律 \(x\oplus y=xy=yx=y\oplus x\);结合律 \((x\oplus y)\oplus z=(xy)z=x(yz)=x\oplus(y\oplus z)\);加法单位元是 \(1\),因 \(x\oplus 1=x\cdot 1=x\);加法逆元是 \(1/x\),因 \(x\oplus(1/x)=x\cdot(1/x)=1\);乘法单位元 \(1\odot x=x^{1}=x\);向量端分配律 \(a\odot(x\oplus y)=(xy)^{a}=x^{a}y^{a}=(a\odot x)\oplus(a\odot y)\);标量端分配律 \((a+b)\odot x=x^{a+b}=x^{a}x^{b}=(a\odot x)\oplus(b\odot x)\)。故 \(V\) 是 \(\mathbb{R}\) 上的向量空间。这个例子极好地诠释了本节主题:这里的"向量"是正实数,"加法"其实是乘法,"零向量"是数 \(1\)——向量空间中的元素完全不必是箭头。
练习 1.B-6
设 \(a\in\mathbb{F}\),\(v\in V\),且 \(av=0\)。证明:\(a=0\) 或 \(v=0\)。
解答设 \(a\neq 0\),则 \(a^{-1}\) 在 \(\mathbb{F}\) 中存在。利用标量乘法的结合性质 \((bc)v=b(cv)\)(它可由两条分配律推出:先用归纳法处理自然数 \(b\),再逐级推广到整数、有理数,最后借助极限过渡到实数与复数;本书记号 1.19 之后将此类性质视为已知),得
\[ v=1v=(a^{-1}a)v=a^{-1}(av)=a^{-1}\,0=0, \]最后一步用了命题 1.31。故若 \(av=0\) 而 \(a\neq 0\),必有 \(v=0\);等价地,\(a=0\) 或 \(v=0\)。这相当于说:非零向量乘以非零标量绝不可能得到零向量——今后讨论线性无关时,它是最常用的工具之一。