Skip to main content

代数结构

参考资料

引入

代数结构(Algebraic Structure)== 集合 ++ 运算。当我们把整数加法、矩阵乘法、置换合成、字符串拼接这些看似无关的东西放在一起,会发现它们遵循同一套法则(结合、有单位元、可逆……)。抽象出这些 共性、不管元素究竟是什么,就得到了代数结构。

这套「只看运算规律、不看具体对象」的思路,正是计算机科学反复用到的:编码理论、密码学、形式语言、纠错码、哈希,背后都站着群、环、域。本章是 线性代数 的延伸,也是它的一般化。

二元运算

集合 AA 上的 二元运算(Binary Operation)是函数:

:A×AA*:A\times A\to A

也就是「输入两个元素、输出一个元素」。最关键的隐含要求是 封闭性——结果 仍在 AA。比如自然数对减法不封闭(35N3-5\notin\mathbb{N}),所以 (N,)(\mathbb{N},-) 不是一个合格的代数系统。

运算的性质

名称定义直觉
封闭性a,bA, abA\forall a,b\in A,\ a*b\in A不会「算出去」
结合律(ab)c=a(bc)(a*b)*c=a*(b*c)不必管加括号的顺序
交换律ab=baa*b=b*a左右可以对调
单位元 eea, ae=ea=a\forall a,\ a*e=e*a=a「什么都不做」的元素
零元 θ\thetaa, aθ=θa=θ\forall a,\ a*\theta=\theta*a=\theta「一票否决」的元素
逆元 a1a^{-1}aa1=a1a=ea*a^{-1}=a^{-1}*a=eaa 撤销回 ee

单位元、零元若存在则 唯一;在满足结合律时,逆元若存在也 唯一。这些唯一性证明都用同一招——假设有两个,让它们互相作用,立刻推出相等。

tip

结合律是默默无闻的主角。有了它,abca*b*c*\dots 才能随便去括号、连乘有意义,逆元才唯一。没有结合律的运算(如向量叉积、减法)会非常难处理,这也是为什么半群、群都把结合律放在第一条。

半群与独异点

按「要求逐渐增多」排成一条链:

  • 广群:只要求 封闭
  • 半群(Semigroup):封闭 ++ 结合律
  • 独异点 / 含幺半群(Monoid):半群 ++ 单位元
  • (Group):独异点 ++ 每个元素可逆

例:非空字符串集合在 拼接 运算下是半群;加上空串作单位元就成了独异点。程序里「可结合、有空值」的折叠(fold)操作,数学上就是独异点——这也是为什么 MapReduce 能并行:结合律允许任意分组求和。

定义

(G,)(G,*),当且仅当满足四条:

  1. 封闭性
  2. 结合律
  3. 存在单位元 ee
  4. 每个元素都有逆元

若还满足 交换律,称 交换群 / 阿贝尔群(Abelian Group)。群抽象的是「可逆的对称操作」——魔方的每一步转动、平面的每一次旋转,都能撤销,合起来就是群。

群里有两条好用的 消去律ab=acb=ca*b=a*c\Rightarrow b=c。因为可以两边左乘 a1a^{-1}

判定是否为群算例

例:判断 (Z4,+)(\mathbb{Z}_4,+) 是否为群。运算表(模 44 加法):

++00112233
0000112233
1111223300
2222330011
3333001122

逐条核对:表内全是 {0,1,2,3}\set{0,1,2,3} 中元素(封闭);加法 结合00单位元00 那行那列原样复制);每行每列都出现 00,故 每个元素有逆1133 互逆、22 自逆)。四条全满足,是群,且交换,是阿贝尔群。

例:判断 (Z4{0},×)=({1,2,3},×)(\mathbb{Z}_4\setminus\set 0,\times)=(\set{1,2,3},\times)(模 44 乘法)是否为群。看 2×2=40{1,2,3}2\times2=4\equiv0\notin\set{1,2,3}不封闭,第一条就崩了——根源是 2244 不互素、没有乘法逆。把模数换成素数 55,则 ({1,2,3,4},×)(\set{1,2,3,4},\times) 封闭且每个非零元可逆,是群。这解释了为什么 Zp\mathbb{Z}_p^* 要求 pp 素。

子群

非空子集 HGH\subseteq GGG 的运算下自身也是群,记 HGH\le G

判定定理HH\ne\varnothinga,bH, ab1H\forall a,b\in H,\ a*b^{-1}\in H,则 HGH\le G。一条式子同时保证了封闭和有逆,很省事。

任何群都有 平凡子群 {e}\set{e}GG 本身。

陪集与拉格朗日定理

取定子群 HGH\le G 和元素 aGa\in G左陪集aH={ahhH}aH=\set{a*h\mid h\in H}。所有左陪集 大小相同(都等于 H|H|)、互不相交、并起来 铺满 GG——也就是说,陪集是 GG 的一个划分,背后正是一个等价关系。

由此立得 拉格朗日定理(Lagrange's Theorem):有限群 GG 的任意子群 HH 满足

HG|H|\,\big|\,|G|

子群的阶整除群的阶。陪集个数 G/H|G|/|H|HHGG 中的 指数

例:在 (Z6,+)(\mathbb{Z}_6,+) 里取子群 H={0,3}H=\set{0,3}H=2|H|=2),求全部左陪集。逐个元素算 a+Ha+H

0+H={0,3},1+H={1,4},2+H={2,5},3+H={3,0},4+H={4,1},5+H={5,2}.\begin{aligned} 0+H&=\set{0,3}, & 1+H&=\set{1,4}, & 2+H&=\set{2,5},\\ 3+H&=\set{3,0}, & 4+H&=\set{4,1}, & 5+H&=\set{5,2}. \end{aligned}

不同的陪集只有 {0,3},{1,4},{2,5}\set{0,3},\set{1,4},\set{2,5} 三个(3+H3+H0+H0+H 重合,依此类推)。它们大小都是 22、互不相交、并起来铺满 Z6\mathbb{Z}_6。验证拉格朗日:H=2|H|=2 整除 G=6|G|=6,指数为 6/2=36/2=3,正是陪集个数。

tip

拉格朗日定理威力很大:它直接推出「元素的阶整除群的阶」,进而推出 费马小定理欧拉定理——RSA 加密的数学基石。素数阶的群因为没有非平凡因子,只能是循环群,结构被完全锁死。

例:用群论「秒杀」费马小定理 ap11(modp)a^{p-1}\equiv1\pmod ppp 素,pap\nmid a)。乘法群 Zp\mathbb{Z}_p^* 的阶是 p1p-1。由拉格朗日定理,任一元素 aa 的阶 dd 整除群的阶 p1p-1,写 p1=dkp-1=dk。又 ad1a^d\equiv1(阶的定义),于是

ap1=adk=(ad)k1k=1(modp)a^{p-1}=a^{dk}=(a^d)^k\equiv1^k=1\pmod p

整个证明不碰任何数论技巧,纯靠「元素的阶整除群的阶」。把 Zp\mathbb{Z}_p^* 换成一般的 Zn\mathbb{Z}_n^*(阶为 φ(n)\varphi(n)),同一论证立刻给出 欧拉定理 aφ(n)1(modn)a^{\varphi(n)}\equiv1\pmod n

循环群

单个元素 反复运算生成的群称 循环群(Cyclic Group):

G=a={akkZ}G=\langle a\rangle=\set{a^k\mid k\in\mathbb{Z}}

aa生成元。元素 aa 是最小的 n>0n>0 使 an=ea^n=e(不存在则阶为无穷)。

  • 有限循环群 a\langle a\rangle(阶 nn)同构于 (Zn,+)(\mathbb{Z}_n,+)——「在钟面上转」。
  • 无限循环群同构于 (Z,+)(\mathbb{Z},+)

循环群是最简单的群:交换、结构完全由阶决定。

例:求 (Z6,+)(\mathbb{Z}_6,+) 的生成元与子群。元素 aa 是生成元     gcd(a,6)=1\iff\gcd(a,6)=1,故生成元是 1155。验证 1\langle1\rangle1,2,3,4,5,01,2,3,4,5,0 跑遍全群;而 2={0,2,4}\langle2\rangle=\set{0,2,4} 只生成一个 33 阶子群(gcd(2,6)=2\gcd(2,6)=2)。各元素的阶为 6/gcd(a,6)6/\gcd(a,6)1,51,5662,42,43333220011

循环群的子群也都是循环的,且每个阶 d6d\mid 6 恰有一个 dd 阶子群:

0={0},3={0,3},2={0,2,4},1=Z6\langle0\rangle=\set 0,\quad\langle3\rangle=\set{0,3},\quad\langle2\rangle=\set{0,2,4},\quad\langle1\rangle=\mathbb{Z}_6

阶分别是 1,2,3,61,2,3,6——正好是 66 的全部因子,每个因子对应唯一子群,这是循环群独有的整齐结构。

置换群

nn 个元素的所有 置换(双射 {1,,n}{1,,n}\set{1,\dots,n}\to\set{1,\dots,n})在 复合 下构成 对称群 SnS_n,阶为 n!n!n3n\ge 3非交换

置换群极其重要,因为 凯莱定理 说:任何群都同构于某个置换群的子群。换句话说,置换群囊括了一切群的结构,洗牌、魔方、对称操作都是它的实例。

例:把置换 σ=(1234523154)\sigma=\begin{pmatrix}1&2&3&4&5\\2&3&1&5&4\end{pmatrix}(即 12,23,31,45,541\mapsto2,2\mapsto3,3\mapsto1,4\mapsto5,5\mapsto4)作 轮换分解。从 11 出发追踪:12311\to2\to3\to1 闭合,得轮换 (123)(1\,2\,3);再从 444544\to5\to4,得 (45)(4\,5)。于是 σ=(123)(45)\sigma=(1\,2\,3)(4\,5),是一个 33-轮换与一个对换之积。它的阶是各轮换长度的最小公倍数 lcm(3,2)=6\operatorname{lcm}(3,2)=6

例:求两置换的乘法。设 τ=(12)\tau=(1\,2),沿用上面的 σ=(123)(45)\sigma=(1\,2\,3)(4\,5),算复合 στ\sigma\tau(约定先作用右边的 τ\tau、再 σ\sigma)。逐点:1τ2σ31\xrightarrow{\tau}2\xrightarrow{\sigma}32τ1σ22\xrightarrow{\tau}1\xrightarrow{\sigma}23τ3σ13\xrightarrow{\tau}3\xrightarrow{\sigma}1454\mapsto5545\mapsto4。结果 13,22,311\mapsto3,2\mapsto2,3\mapsto1,即 στ=(13)(45)\sigma\tau=(1\,3)(4\,5)。可见 SnS_nn3n\ge3)非交换——换成 τσ\tau\sigma 会得到不同结果。

正规子群与商群

若子群 NGN\le G 满足 左右陪集相等aN=NaaN=Na 对所有 aa),称 NN正规子群(Normal Subgroup),记 NGN\trianglelefteq G。交换群的所有子群都正规。

正规性恰好保证陪集之间能良好地定义运算 (aN)(bN)=(ab)N(aN)(bN)=(ab)N,于是所有陪集本身又组成一个群——商群(Quotient Group)G/NG/NZ/nZ=Zn\mathbb{Z}/n\mathbb{Z}=\mathbb{Z}_n 就是最熟悉的商群:把整数按模 nn 同余「打包」,每个同余类成了新群里的一个元素。

常见群

名称结构
(Z,+)(\mathbb{Z},+)整数加法群(无限循环)
(Zn,+)(\mathbb{Z}_n,+)nn 加法群(有限循环,阶 nn
(Zp,×)(\mathbb{Z}_p^*,\times)模素数 pp 乘法群(阶 p1p-1,循环)
SnS_nnn 元对称群(阶 n!n!n3n\ge 3 非交换)
DnD_n二面体群(正 nn 边形的旋转与翻转,阶 2n2n

同态与同构

(G,)(G,*)(H,)(H,\circ) 是两个代数系统,映射 φ:GH\varphi:G\to H保持运算

φ(ab)=φ(a)φ(b)\varphi(a*b)=\varphi(a)\circ\varphi(b)

就称为 同态(Homomorphism)。它表达「先算后映 == 先映后算」——结构在映射下被保留。按 φ\varphi 是否单 / 满分类:

  • 单同态φ\varphi 单射。
  • 满同态φ\varphi 满射。
  • 同构(Isomorphism):φ\varphi 双射。

同构 的两个结构在代数上 完全相同,只是给元素换了名字。识别同构是抽象代数的核心乐趣:指数函数 φ(x)=ex\varphi(x)=e^x(R,+)(R+,×)(\mathbb{R},+)\to(\mathbb{R}^+,\times) 的同构,于是「加法」和「乘法」在它眼里是同一回事——对数计算尺正是吃这碗饭的。

同态的 kerφ={aφ(a)=eH}\ker\varphi=\set{a\mid\varphi(a)=e_H} 总是正规子群,且 G/kerφimφG/\ker\varphi\cong\operatorname{im}\varphi,这就是 同态基本定理

例:验证 φ:(Z,+)(Z3,+)\varphi:(\mathbb{Z},+)\to(\mathbb{Z}_3,+)φ(n)=nmod3\varphi(n)=n\bmod3 是同态并求核。保运算:φ(m+n)=(m+n)mod3=(mmod3)+(nmod3)=φ(m)+φ(n)\varphi(m+n)=(m+n)\bmod3=(m\bmod3)+(n\bmod3)=\varphi(m)+\varphi(n),成立。核是映到单位元 00 的元素:

kerφ={nZn0(mod3)}=3Z\ker\varphi=\set{n\in\mathbb{Z}\mid n\equiv0\pmod3}=3\mathbb{Z}

它正是 33 的倍数构成的正规子群。由同态基本定理 Z/3ZZ3\mathbb{Z}/3\mathbb{Z}\cong\mathbb{Z}_3——把整数按模 33 打包,商群恰好是 Z3\mathbb{Z}_3。核越大,「被抹平」的信息越多:若核是 {0}\set 0φ\varphi 是单同态(无信息丢失)。

环与域

群只有一种运算,但整数同时有加法和乘法。把 两种运算 一起研究,就到了环与域。

(R,+,)(R,+,\cdot)(Ring),当:

  1. (R,+)(R,+)交换群(加法)。
  2. (R,)(R,\cdot)半群(乘法满足结合律)。
  3. 乘法对加法满足 分配律

例:(Z,+,)(\mathbb{Z},+,\cdot)(Zn,+,)(\mathbb{Z}_n,+,\cdot)(Mn(R),+,)(M_n(\mathbb{R}),+,\cdot)(矩阵环,乘法不交换)、多项式环。

(Field)是「最像有理数 / 实数」的环:

  1. (F,+,)(F,+,\cdot)交换环
  2. 存在乘法单位元 101\ne 0
  3. 每个非零元都有乘法逆元——即非零元在乘法下构成群。

于是域里加减乘除(除 00 外)全部畅通无阻。例:Q\mathbb{Q}R\mathbb{R}C\mathbb{C},以及 有限域 Zp\mathbb{Z}_ppp 素数)。

tip

整环 是无零因子的交换环(ab=0a=0a\cdot b=0\Rightarrow a=0b=0b=0)。一条漂亮的定理:有限整环必为域

这解释了为什么 Zp\mathbb{Z}_ppp 素数)是域,而 Z6\mathbb{Z}_6 不是——后者有零因子 2302\cdot 3\equiv 0,做不到除法。有限域是纠错码(如 QR 码的里德–所罗门码)、AES 加密的运算舞台。

格与布尔代数

(Lattice)是一种特殊的偏序集(参见 集合与关系)。它有两个等价的定义视角:

  • 序定义:偏序集 (L,)(L,\preceq),任意两元素都有 上确界(并 \lor,最小上界)与 下确界(交 \land,最大下界)。
  • 代数定义(L,,)(L,\lor,\land) 配两个运算,满足 交换、结合、吸收 三律。

两个视角等价:序里的「上 / 下确界」就是代数里的 /\lor/\land。常见例子:

  • (P(A),)(\mathcal{P}(A),\subseteq):幂集偏序,=\lor=\cup=\land=\cap
  • (Z+,)(\mathbb{Z}^+,\,\mid\,):整除关系,=lcm\lor=\operatorname{lcm}=gcd\land=\gcd

,\lor,\land 互相满足分配律,称 分配格

布尔代数

布尔代数(Boolean Algebra)是 有界分配格 ++ 每个元素都有补元 aa'(满足 aa=1a\lor a'=1aa=0a\land a'=0)。

它是离散数学里「殊途同归」的最佳范例——三件看似无关的事,其实是同一个布尔代数:

  • 命题逻辑(参见 数理逻辑):,,¬\lor,\land,\neg、真 11、假 00
  • 集合代数,\cup,\cap、补、全集 UU、空集 \varnothing
  • 数字电路:或门、与门、非门、高电平、低电平。

正因如此,逻辑化简、集合恒等、电路优化用的是同一套定律(德摩根、分配、吸收)。计算机的整个数字底层——加法器、控制逻辑、寄存器——都建立在这个布尔代数之上。

例:化简布尔表达式 ab+ab+abab+a b'+a'b(用 bb' 记补元 ¬b\neg b)。一步步套定律:

ab+ab+ab=a(b+b)+ab分配律=a1+abb+b=1=a+ab同一律=a+b用 a+ab=a+b\begin{aligned} ab+ab'+a'b &=a(b+b')+a'b &&\text{分配律}\\ &=a\cdot1+a'b &&b+b'=1\\ &=a+a'b &&\text{同一律}\\ &=a+b &&\text{用 }a+a'b=a+b \end{aligned}

最后一步是布尔代数特有的化简(由 a+ab=(a+a)(a+b)=a+ba+a'b=(a+a')(a+b)=a+b 得来)。原来三项的电路化简成「一个或门」,门数从多个降到一个——这正是数字电路里 逻辑门优化 的日常,卡诺图就是把这套化简图形化。