本节对应原书 PDF 第 321–326 页。定义、定理、公式、例题及其原解答逐字取自原书;解释性文字为 AI 通俗化改写;标有「解读」的引用块为 AI 补充的额外直觉。

代数系统的核心成分是集合上的运算。本节先把「运算」这件事本身说清楚:什么叫集合对运算封闭,二元运算与一元运算分别是什么,运算可以用表达式定义也可以用运算表定义;随后讨论运算满足的算律(交换律、结合律、幂等律、分配律、吸收律、消去律)和相对于运算存在的特异元素(单位元、零元、逆元)。

14.1.1 二元运算与一元运算的定义

定义 14.1 设 S 为集合, 函数 f: S\times S\to S 称为 S 上的二元运算, 简称为二元运算. 这时也称 S 对 f 封闭.

解读:注意定义里两处出现的 S 是同一个 S——定义域的两个分量和值域都落在 S 里, 这就是「封闭」的全部含义。判断一个运算是不是 S 上的二元运算, 只需检查一件事:任取 S 中两个元素运算, 结果是否还在 S 中。

例 14.1 (1) 普通加法和乘法是自然数集 \mathbf{N} 上的二元运算, 而减法和除法不是. 因为两个数相减或者相除不一定得到自然数, 如 2-3=-1; 2/3 不是整数.

(2) 加法、减法和乘法都是整数集 \mathbf{Z} 上的二元运算, 而除法不是.

(3) 乘法和除法都是非零实数集 \mathbf{R}^* 上的二元运算, 而加法和减法不是. 因为两个数相加或者相减可能等于 0, 而 0 不是 \mathbf{R}^* 中的数.

(4) 设 S=\{a_1,a_2,\cdots,a_n\}, a_i\circ a_j=a_i, 那么 \circ 为 S 上二元运算.

(5) 设 \mathbf{M}_n(\mathbf{R}) 表示所有 n 阶(n\geqslant 2)实矩阵的集合, 即

\mathbf{M}_n(\mathbf{R})=\left\{\begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\ a_{21}&a_{22}&\cdots&a_{2n}\\ \vdots&\vdots&&\vdots\\ a_{n1}&a_{n2}&\cdots&a_{nn}\end{pmatrix}\Biggm| a_{ij}\in \mathbf{R}, i,j=1,2,\cdots,n\right\}

则矩阵加法和矩阵乘法都是 \mathbf{M}_n(\mathbf{R}) 上的二元运算, 因为任何两个 n 阶实矩阵都可以相加或者相乘, 且所得结果仍旧是 n 阶实矩阵.

(6) S 为任意集合, 则 \cup, \cap, -, \oplus 为幂集 \mathcal{P}(S) 上的二元运算, 因为任何 S 的子集都可以进行上述运算, 且运算结果仍旧是 S 的子集.

(7) S^S 为 S 上的所有函数的集合, 则合成运算 \circ 为 S^S 上的二元运算.

解读:例 14.1 的 (1)(3) 是同一件事的两个方向——加法在 \mathbf{N} 上封闭而在 \mathbf{R}^* 上不封闭, 减法反过来。这说明「是不是二元运算」不是运算自身的属性, 而是运算与载体配对之后才成立的判断, 换一个集合结论就可能翻转。

定义 14.2 设 S 为集合, 函数 f: S\to S 称为 S 上的一元运算, 简称一元运算.

例 14.2 (1) 求相反数是整数集 \mathbf{Z}、有理数集 \mathbf{Q} 和实数集 \mathbf{R} 上的一元运算, 因为任何实数都可以求相反数, 且相反数与原来的数都属于同一个集合.

(2) 求倒数是非零有理数集 \mathbf{Q}^*、非零实数集 \mathbf{R}^* 上的一元运算, 但不是 \mathbf{Q} 和 \mathbf{R} 上的一元运算, 因为 0 没有倒数.

(3) 对任何复数 a+bi, 求共轭复数 a-bi 是复数集合 \mathbf{C} 上的一元运算.

(4) 在幂集 P(S) 上规定全集为 S, 则求绝对补运算 \sim 是 P(S) 上的一元运算, 因为对任何 S 的子集 X, \sim X=S-X 也是 S 的子集.

(5) 设 S 为集合, 令 A 为 S 上所有双射函数的集合, A\subseteq S^S, 求一个双射函数的反函数是 A 上的一元运算.

(6) 在 n(n\geqslant 2) 阶实矩阵的集合 \mathbf{M}_n(\mathbf{R}) 上, 求转置矩阵是 \mathbf{M}_n(\mathbf{R}) 上的一元运算; 但是求矩阵的逆矩阵不是 \mathbf{M}_n(\mathbf{R}) 上的一元运算, 因为只有行列式不为 0 的 n 阶矩阵才有逆矩阵.

解读:例 14.2 的 (5)(6) 是同一招:把一个「部分有定义」的运算限制到它真正处处有定义的子集上, 就成了一元运算。求反函数只在双射上处处有定义, 所以载体取双射集合 A; 求逆矩阵只在可逆矩阵上处处有定义, 而可逆矩阵集不是 \mathbf{M}_n(\mathbf{R}) 的全部, 所以求逆不是 \mathbf{M}_n(\mathbf{R}) 上的一元运算。

可以使用算符表示二元或一元运算, 常用的算符有 \circ, *, \cdot, \oplus, \otimes, \triangle 等. 二元运算一般采用中缀表示, 即如果 x 与 y 运算得到 z, 记做 x\circ y=z; 对一元运算则采用前缀表示, 即将 x 的运算结果记作 \circ x. 上述算符除了特别说明之外, 都泛指抽象意义上的运算. 而通常的 +, -, \times, \div, \cup, \cap, \vee, \wedge, \neg 等也是算符, 一般具有特定的含义. 使用算符可以更方便的定义运算, 定义的方法是给出运算的表达式或运算表. 表达式适合于表示具有共同规则的运算, 而运算表不要求运算具有共同规则, 但是运算必须定义在有穷集上. 表 14.1 和表 14.2 分别给出了二元运算与一元运算的运算表的一般形式, 这些运算都定义在集合 \{a_1,a_2,\cdots,a_n\} 上.

表 14.1

\circa_1a_2\cdotsa_n
a_1a_1\circ a_1a_1\circ a_2\cdotsa_1\circ a_n
a_2a_2\circ a_1a_2\circ a_2\cdotsa_2\circ a_n
\vdots\vdots\vdots\vdots
a_na_n\circ a_1a_n\circ a_2\cdotsa_n\circ a_n

表 14.2

\circ\circ a_i
a_1\circ a_1
a_2\circ a_2
\vdots\vdots
a_n\circ a_n

下面是一些运算的具体实例.

例 14.3 (1) 设 \mathbf{R} 为实数集合, 如下定义 \mathbf{R} 上的二元运算 *

\forall\ x,y\in \mathbf{R}, \quad x*y=x

那么 3*4=3, 0.5*(-3)=0.5. 这里的 * 运算是使用表达式定义的.

(2) 令 A=P(\{a,b\}), \oplus 和 \sim 分别为对称差和绝对补运算(\{a,b\} 为全集), 表 14.3 和表 14.4 分别表示这两个运算的运算表.

表 14.3

\oplus\varnothing\{a\}\{b\}\{a,b\}
\varnothing\varnothing\{a\}\{b\}\{a,b\}
\{a\}\{a\}\varnothing\{a,b\}\{b\}
\{b\}\{b\}\{a,b\}\varnothing\{a\}
\{a,b\}\{a,b\}\{b\}\{a\}\varnothing

表 14.4

X\sim X
\varnothing\{a,b\}
\{a\}\{a\}
\{b\}\{b\}
\{a,b\}\varnothing

例 14.4 设 Z_n=\{0,1,\cdots,n-1\}, \oplus 和 \otimes 分别表示模 n 加法和模 n 乘法, 即 x\oplus y=(x+y)\bmod n, x\otimes y=(xy)\bmod n. 那么当 n=5 时, 这两个运算的运算表如表 14.5 和表 14.6 所示.

表 14.5

\oplus01234
001234
112340
223401
334012
440123

表 14.6

\otimes01234
000000
101234
202413
303142
404321

解读:表 14.3 的对称差和表 14.5 的模 5 加法长得极像, 都是「左上角一小块, 右下角一小块」的错位结构。这不是巧合——两者都是交换群上的加法, 只是元素的名字不同, 14.2.4 的同构概念正是用来把这种「长得一样」说成「本质一样」的。

14.1.2 二元运算的性质

二元运算的性质主要指运算遵从的算律和相对于运算存在的特异元素. 首先考虑算律. 针对一个二元运算的算律主要有交换律、结合律和幂等律; 针对两个不同的二元运算的算律主要有分配律和吸收律. 下面分别给出定义.

定义 14.3 设 \circ 为 S 上的二元运算,

(1) 如果对于任意的 x,y\in S 有

x\circ y=y\circ x

则称 \circ 运算在 S 上满足交换律.

(2) 如果对于任意的 x,y,z\in S 有

(x\circ y)\circ z=x\circ(y\circ z)

则称 \circ 运算在 S 上满足结合律.

(3) 如果对于任意的 x\in S 有

x\circ x=x

则称 \circ 运算在 S 上满足幂等律.

定义 14.4 设 \circ 和 * 为 S 上两个不同的二元运算,

(1) 如果对于任意的 x,y,z\in S 有

(x*y)\circ z=(x\circ z)*(y\circ z) \quad \text{和} \quad z\circ(x*y)=(z\circ x)*(z\circ y)

则称 \circ 运算对 * 运算满足分配律.

(2) 如果 \circ 和 * 都可交换, 并且对于任意的 x,y\in S 有

x\circ(x*y)=x \quad \text{和} \quad x*(x\circ y)=x

则称 \circ 和 * 运算满足吸收律.

解读:定义 14.4(1) 的两条式子必须同时成立才算满足分配律——左分配和右分配缺一不可。而 (2) 的吸收律额外要求两个运算都可交换, 这条前置条件在验证时最容易被漏掉。

例 14.5 设 \mathbf{Z},\mathbf{Q},\mathbf{R} 分别为整数、有理数、实数集; \mathbf{M}_n(\mathbf{R}) 为 n 阶实矩阵集合, n\geqslant 2; P(B) 为幂集; A^A 为从 A 到 A 的函数集, |A|\geqslant 2. 下面考虑这些集合上的运算是否满足交换律、结合律和幂等律, 有关的结果给在表 14.7; 而对于分配律和吸收律的分析结果则给在表 14.8.

表 14.7

集合运算交换律结合律幂等律
\mathbf{Z},\mathbf{Q},\mathbf{R}普通加法+有有无
普通乘法\times有有无
\mathbf{M}_n(\mathbf{R})矩阵加法+有有无
矩阵乘法\times无有无
P(B)并\cup有有有
交\cap有有有
相对补-无无无
对称差\oplus有有无
A^A函数复合\circ无有无

表 14.8

集合运算分配律吸收律
\mathbf{Z},\mathbf{Q},\mathbf{R}普通加法+与乘法\times\times对+可分配 +对\times不分配无
\mathbf{M}_n(\mathbf{R})矩阵加法+与乘法\times\times对+可分配 +对\times不分配无
P(B)并\cup与交\cap\cup对\cap可分配 \cap对\cup可分配有
交\cap与对称差\oplus\cap对\oplus可分配 \oplus对\cap不分配无

解读:表 14.7 里幂等律一栏「有」的只有 \cup 与 \cap。原因很直接:A\cup A=A 与 A\cap A=A 恒成立, 而 x+x=x 只在 x=0 时成立。看一个运算是否幂等, 本质上是问「把同一个元素喂两遍, 会不会原地不动」。

下面考虑运算的特异元素: 单位元、零元、可逆元以及它们的逆元. 这些特异元素也称作代数系统的代数常数.

定义 14.5 设 \circ 为 S 上的二元运算,

(1) 如果存在 e_l(或 e_r) \in S, 使得对任意 x\in S 都有

e_l\circ x=x \qquad (\text{或 } x\circ e_r=x)

则称 e_l(或 e_r) 是 S 中关于 \circ 运算的左(或右)单位元. 若 e\in S 关于 \circ 运算既是左单位元又是右单位元, 则称 e 为 S 上关于 \circ 运算的单位元. 单位元也称作幺元.

(2) 如果存在 \theta_l(或 \theta_r) \in S, 使得对任意 x\in S 都有

\theta_l\circ x=\theta_l \qquad (\text{或 } x\circ \theta_r=\theta_r)

则称 \theta_l(或 \theta_r) 是 S 中关于 \circ 运算的左(或右)零元. 若 \theta\in S 关于 \circ 运算既是左零元又是右零元, 则称 \theta 为 S 上关于 \circ 运算的零元.

(3) 令 e 为 S 中关于 \circ 运算的单位元. 对于 x\in S, 如果存在 y_l(或 y_r) \in S 使得

y_l\circ x=e \qquad (\text{或 } x\circ y_r=e)

则称 y_l(或 y_r) 是 x 关于 \circ 运算的左逆元(或右逆元). 若 y\in S 既是 x 的左逆元又是 x 的右逆元, 则称 y 为 x 的逆元. 如果 x 的逆元存在, 就称 x 是可逆的.

解读:左单位元 e_l 写在运算号左边才「不起作用」, 右单位元 e_r 写在右边才不起作用; 对非交换的运算这两者完全可能不是同一个元素。而 (3) 里 y_l\circ x=e 与 x\circ y_r=e 的书写顺序恰好体现了这一点:左逆元从左边乘回去得单位元, 右逆元从右边乘回去得单位元。

例 14.6 针对例 14.5 中的运算, 表 14.9 列出了相关的单位元、零元及可逆元素的逆元. 集合中哪些元素是可逆元素? 这依赖于具体的运算. 对表 14.9 中的普通乘法来说, 在实数集 \mathbf{R} 和有理数集 \mathbf{Q} 中, 除 0 之外每个实数或有理数 x 都是可逆的, 逆元就是它的倒数 x^{-1}; 而在整数集 \mathbf{Z} 中, 只有 1 和 -1 是可逆的, 它们的逆元就是自身. 对于矩阵乘法, 只有可逆矩阵 \mathbf{X}(行列式不等于 0 的矩阵)才存在逆矩阵 \mathbf{X}^{-1}. 在幂集 P(B) 上, 对于集合并运算, 只有空集 \varnothing 有逆元; 而对于交运算, 只有 B 有逆元. 在函数的集合 A^A 上, I_A 是合成运算 \circ 的单位元. 只有双射函数 f: A\to A 有逆元, 即反函数 f^{-1}, 其他函数没有逆元.

表 14.9

集合运算单位元零元逆元
\mathbf{Z},\mathbf{Q},\mathbf{R}普通加法+0无x 的逆元 -x
普通乘法\times10可逆元素 x 的逆元 x^{-1}
\mathbf{M}_n(\mathbf{R})矩阵加法+n 阶全 0 矩阵无\mathbf{X} 的逆元 -\mathbf{X}
矩阵乘法\timesn 阶单位矩阵n 阶全 0 矩阵可逆矩阵 \mathbf{X} 的逆阵 \mathbf{X}^{-1}

续表

集合运算单位元零元逆元
P(B)并\cup\varnothingB\varnothing 的逆元为 \varnothing
交\capB\varnothingB 的逆元为 B
对称差\oplus\varnothing无X 的逆元为 X
A^A函数复合\circ恒等函数 I_A无双射函数 f 的逆元为 f^{-1}

解读:同一行里「单位元」与「零元」常常成对出现且角色相反——并运算的单位元是 \varnothing、零元是 B, 交运算正好调过来。记住这条对偶性, 表 14.9 的大半就不必死背。另外注意「零元为无」的行里仍有可逆元素, 而「单位元为无」的运算则谈不上逆元。

关于单位元的存在唯一性定理.

定理 14.1 设 \circ 为 S 上的二元运算, e_l 和 e_r 分别为 S 中关于 \circ 运算的左和右单位元, 则 e_l=e_r=e 为 S 上关于 \circ 运算的唯一的单位元.

证明 因为 e_r 为右单位元, 所以有 e_l=e_l\circ e_r. 同理有 e_l\circ e_r=e_r. 从而得到 e_l=e_r. 将这个单位元记作 e. 假设 e' 也是 S 中的单位元, 则有 e'=e\circ e'=e. 唯一性得证.

类似地, 可以证明关于零元的唯一性定理.

定理 14.2 设 \circ 为 S 上可结合的二元运算, e 为该运算的单位元, 对于 x\in S 如果存在左逆元 y_l 和右逆元 y_r, 则有 y_l=y_r=y, 且 y 是 x 关于 \circ 运算的唯一的逆元.

证明 由 y_l\circ x=e 和 x\circ y_r=e 得

y_l=y_l\circ e=y_l\circ(x\circ y_r)=(y_l\circ x)\circ y_r=e\circ y_r=y_r

令 y_l=y_r=y, 则 y 是 x 的逆元. 假若 y'\in S 也是 x 的逆元, 则

y'=y'\circ e=y'\circ(x\circ y)=(y'\circ x)\circ y=e\circ y=y

所以 y 是 x 关于 \circ 运算的唯一的逆元.

解读:定理 14.2 的证明关键是把 e 插进乘积中间再重新加括号——y_l=y_l\circ e=y_l\circ(x\circ y_r) 这一步用到 x\circ y_r=e, 而接下来从 y_l\circ(x\circ y_r) 变成 (y_l\circ x)\circ y_r 用的是结合律, 这正是定理前提「\circ 可结合」不可去掉的原因。若运算不结合, 左逆元与右逆元可能不相等。

由于逆元的唯一性, 通常将 x 的逆元记作 x^{-1}.

最后考虑消去律.

定义 14.6 设 \circ 为集合 S 上的二元运算, 如果对于任意元素 x,y,z\in S, x\neq \theta, 都有

x\circ y=x\circ z\Rightarrow y=z, \quad y\circ x=z\circ x\Rightarrow y=z

成立, 则称 \circ 运算满足消去律.

例如, 普通加法和乘法满足消去律, 矩阵加法满足消去律, 矩阵乘法不满足消去律. 集合的并和交运算也不满足消去律, 例如 \{1\}\cup\{1,2\}=\{2\}\cup\{1,2\}, 但是 \{1\}\neq\{2\}.

解读:消去律的写法里 x\neq\theta 这个限制容易被忽略。对乘法来说 \theta=0, 排除 x=0 是必需的——否则 0\cdot 1=0\cdot 2 却 1\neq 2。换句话说, 消去律失效的根源往往正是零元。

下面是一些运算的实例.

例 14.7 设 \circ 运算为有理数集 \mathbf{Q} 上的二元运算, \forall\ x,y\in \mathbf{Q},

x\circ y=x+y-xy

(1) 判断 \circ 运算是否满足交换律和结合律, 并说明理由.

(2) 求出 \circ 运算的单位元、零元和所有可逆元素的逆元.

解 (1) \circ 运算是可交换、可结合的. 验证如下: 任取 x,y\in \mathbf{Q},

x\circ y=x+y-xy=y+x-yx=y\circ x

任取 x,y,z\in \mathbf{Q},

(x\circ y)\circ z=(x+y-xy)+z-(x+y-xy)z=x+y+z-xy-xz-yz+xyz
x\circ(y\circ z)=x+(y+z-yz)-x(y+z-yz)=x+y+z-xy-xz-yz+xyz

(2) 设 \circ 运算的单位元和零元分别为 e 和 \theta, 则对于任意 x 有 x\circ e=x 成立, 即 x+e-xe=x. 由于 x 的任意性, 必有 e=0. 由于 \circ 运算可交换, 所以 0 是单位元.

再考虑零元, 对于任意 x 有 x\circ \theta=\theta 成立, 即 x+\theta-x\theta=0. 化简得 x-x\theta=0. 由于 x 的任意性, 得 \theta=1.

给定 x, 设 x 的逆元为 y, 则有 x\circ y=0 成立, 即 x+y-xy=0. 从而得到

y=\frac{x}{x-1} \qquad x\neq 1

因此当 x\neq 1 时, \dfrac{x}{x-1} 是 x 的逆元.

解读:求单位元和零元时都用到了「x 的任意性」这一招——把含 x 的等式整理成关于 x 的恒等式, 再比对系数。求逆元时则反过来, 把 x 当作给定的数, 解出 y 关于 x 的表达式, 顺便得到可逆的条件 x\neq 1(此时 x-1 才能作分母)。

例 14.8 表 14.10 给出了 3 个运算表,

(1) 说明哪些运算是可交换的、可结合的、幂等的.

(2) 求出每个运算的单位元、零元、所有可逆元素的逆元.

表 14.10

(a)

*abc
acab
babc
cbca

(b)

*abc
aaaa
bbbb
cccc

(c)

\bulletabc
aabc
bbca
ccab

解 (1) * 运算满足交换律, 满足结合律, 不满足幂等律; \circ 运算不满足交换律, 满足结合律, 满足幂等律; \bullet 运算满足交换律, 满足结合律, 不满足幂等律.

(2) * 运算的单位元为 b, 没有零元, a^{-1}=c, b^{-1}=b, c^{-1}=a; \circ 运算的单位元和零元都不存在, 没有可逆元素; \bullet 运算的单位元为 a, 零元为 c, a^{-1}=a. b,c 不是可逆元素.

解读:运算表的交换律可以「看图」判断——表关于主对角线对称即交换。单位元则看哪一行的表头顺序与表头完全一致:表 (a) 中 b 所在行是 a,b,c, 与表头一致, 故 b 是单位元。幂等律看主对角线上每个元素是否等于它所在的行列标号。