1. 代数系统
1.1 运算律
我们已经知道函数的概念,它表示集合间的一种映射关系。多数场景里,像和原像往往是同一个集合,这里就讨论这样的函数。一元函数(f:Amapsto A)也被称为集合(A)上的变换,其中双射的变换也称为置换。一般如下式的多元函数,也被称为集合(A)上的(n)元运算。集合(S)以及其上的一些运算(f_1,f_2,cdots,f_m)组成的系统叫代数系统(algebraic system),在不混淆的情况下也可用(S)表示这个代数系统。代数系统可以让我们抛开具体运算对象,而只关注于它们共有的结构和性质。
[f:A imes A imescdots imes Amapsto A ag{1}]
二元运算是最常见的运算,比如各种对象(数、向量、多项式等)上的加减乘运算,以及变换的复合运算。这里就主要研究二元运算下的代数系统,参照的例子主要是来自数论和置换变换。下面的讨论,在思想分析上会比较啰嗦一点,但这些正是抽象代数的根基,某些证明过程和结果反而不那么重要。希望你可以在学习时,经常合上书本,自己重新构建这些理论,体验抽象代数的思维。
我们先把问题简单化,研究只有一个二元运算的代数系统,那么如何研究?对于这个运算本身需要研究它形式上的特点,而对于整个代数系统还需要分析其结构特点。我们用特定的符号(acirc b)来表示要研究的二元运算(f(a,b)),有时也简写为(ab),并且说成是“乘法”,这个代数系统简单记为(langle S,circ angle)。如果还有另一个系统(langle G,star angle),它们之间有一一映射(f:Smapsto G),并且满足下式,则这两个系统称为同构的(isomorphic),记作(Scong G)。显然同构是个等价概念,同构的代数系统可以看作是完全一样的,本质上可以不加区分。
[f(acirc b)=f(a)star f(b) ag{2}]
从运算的形式上看,有两种比较重要的性质是需要研究的,一个就是运算的复合,另一个就是变量的位置互换。运算的复合是指变量本身又是另一个运算的结果,比如((acirc b)circ(ccirc d))。我们大部分研究对象的运算都满足下式的特点,它称为运算的结合律。结合律在数学中非常普遍,是一个非常基础的运算律,我们就从这里开始。结合律本质上是说运算只与被操作数的序列有关,而与运算顺序无关。直观地讲,一串运算,无论如何添加括号限制运算顺序,结果都是一样的。满足结合律的代数系统称为半群,半群的性质过于简单,它不会有很特殊的结构,必须结合一些其它的性质才行。
[(acirc b)circ c=acirc(bcirc c) ag{3}]
对于很多运算,运算结果是依赖于变量的顺序的,(acirc b)与(bcirc a)不一定相等,比如置换和矩阵乘法。反之,如下条件被称为运算的交换律。我们已经看到,交换律在很多场合是不满足的,由此一般也不假定它成立,这一点大家要做好思维上的适应。交换律使得变量顺序不再重要,它和结合律共同作用的结果就是,运算结果仅与变量有关,它们的顺序可以随意安排。
[acirc b=bcirc a ag{4}]
1.2 单位元和逆元
前面两段讨论的是运算本身的形式特点,它们还构成不了十分有趣的代数系统,现在需要对系统的结构作一些限制。所谓系统的结构,当然体现在变量与运算结果的关系。首先是不是所有元素都可以成为结果,最简单的是对某个元素(a),我们希望存在一个数(e)使得下式至少一个成立,并且最好这个(e)对所有元素都成立。基于这样的要求,分别定义对所有元素满足下式的元素为左(右)单位元。左(右)单位元不定都存在,但如果都存在,我们可以有(e_l=e_r=e_lcirc e_r),它们是相等的!这种情况则统称为单位元(identity)(显然唯一),而含有单位元的半群叫幺半群。
[e_lcirc a=a,quad acirc e_r=a ag{5}]
单位元实现了我们一个朴素的目标:任何元素都可以成为运算结果。现在我们还有一个很普遍的要求,就是式(6)的某个一元一次方程总有解。你得承认这也是个不过分的要求,因为一次方程都没有解的话,这个系统是很难玩得转的。如果要求(ax=b)有解,比较直观的方法是要求两边可以“除以”(a),或“乘以”(a)的逆(a_l^{-1}),得到(x=a_l^{-1}b)。换句话说就是要求存在逆,分别使得式(7)成立。满足条件的逆分别称为左逆元和右逆元。
[acirc x=b,quad ycirc a=b ag{6}]
[a_l^{-1}circ a=e,quad acirc a_r^{-1}=e ag{7}]
如果左(右)逆元同时存在,则(a_l^{-1}=a_l^{-1}circ(acirc a_r^{-1})=(a_l^{-1}circ a)circ a_r^{-1}=a_r^{-1}),它们是又是相等的,这时统称为逆元(inverse)(显然唯一)。根据式(8)可知(a)同时也是(a^{-1})的逆元,并且它们的运算是可以交换的。比较容易证明逆元有式子(9)的性质,这个形式大家并不陌生。
[acirc a^{-1}=a^{-1}circ a=e,quad (a^{-1})^{-1}=a ag{8}]
[(acirc b)^{-1}=b^{-1}circ a^{-1} ag{9}]
逆元的存在使得“除法”成为可能,它让系统一下子立体起来。最典型的性质就是,当(x)遍历群时,(ax)(或(xa))会遍历整个群。因为若(ax=ay),两边乘以(a^{-1}),则有(x=y)。这个性质又叫消去律,如果把整个运算列成一张矩阵的表,则矩阵的每行和每列都包含整个群,且没有重复元素。这个性质非常重要,以后你还会看到它。
2. 群
2.1 群和子群
存在逆元的幺半群叫群,我们的主角就这样登场了。总结一下,齐集结合律、单位元和逆元这三大基本性质的代数系统就是群,一般用字母(G,H,K)表示。如果再满足交换律,它就叫交换群(commutative group)(或Abel群(Abelian group))。集合的元素个数(|G|)称为群的阶(order),显然有有限群和无限群。有了这三个性质,尤其是逆元的存在,群有着非常有趣的结构,后面会慢慢展开讲述。
值得一提的是,单位元和逆元的条件其实是有些冗余的,在很多教材里只要求群满足结合律、存在左单位元和左逆元(或右单位元和右逆元)。现在我们来证它们和原定义的等价性,即已知对任意(a),存在(e_lcirc a=a,a_l^{-1}circ a=e_l),求证(e_r,a_r^{-1})的存在性。首先记(a'=(a_l^{-1})_l^{-1}),则有(acirc a_l^{-1}=(a'circ a_l^{-1})circ(acirc a_l^{-1})=e_l),从而(acirc e_l=acirc(a_l^{-1}circ a)=e_lcirc a=a)。这样(e_l)同时还是右单位元,由前面的讨论知它就是单位元(e)。那么再由刚才的(acirc a_l^{-1}=e_l=e)可知(a_l^{-1})还是右逆元,故有逆元(a^{-1})。
还有一点需要注意,方程(6)有解和消去律中其实并没有单位元和逆的概念,它们与逆之间是否有等价关系?其实不一定成立,但在某些情况还是等价的,请思考如下问题。
• 满足方程(6)都有解的半群是群;(提示:证明单位元和逆存在)
• 同时满足左右消去律的有限半群是群。(提示:利用上题结论)
群的例子非常普遍,比较显然的有任何数系的加法、正数的乘法、矩阵的加法和乘法。再比如上面提到的变换,以及我们在《初等数论》中看到的即约剩余系的乘法,都容易证明它们是群。还有一些著名的群,它们元素个数很少,但结构却不简单,应用也很广泛。比如著名的四元数群({pm 1,pm i,pm j,pm k}),它满足下表的运算律,它们就是四元数的单位元,是比复数更一般的数系(以后可能会介绍)。
(1) | (i) | (j) | (k) | |
(1) | (1) | (i) | (j) | (k) |
(i) | (i) | (-1) | (k) | (-j) |
(j) | (j) | (-k) | (-1) | (i) |
(k) | (k) | (j) | (-i) | (-1) |
还有就是以下Klein四元群(K_4={1,i,j,k}),本篇提交的所有群都是后续讨论中的典型例子,你需要品味一下它们的特点,并带入后续的讨论中。
(1) | (i) | (j) | (k) | |
(1) | (1) | (i) | (j) | (k) |
(i) | (i) | (1) | (k) | (j) |
(j) | (j) | (k) | (1) | (i) |
(k) | (k) | (j) | (i) | (1) |
说了这么多,我们还只是给群下了定义,以后的任务就是要研究它的结构,从而能得到有用的性质。结构分析最常用的方法当然就是分解,将大的复杂对象分解为一个个简单的小对象,结构自然就清楚了。同样道理,我们也希望将群拆解为结构更简单的小群,这个目标将贯穿整个群论。我们自然先给这个“小群”下个定义,它首先必然是群的子集,并且在同样的运算下能独立成群,这样的子集被称为子群(subgroup)。
若(H)是(G)的子群,一般记作(Hleqslant G),显然({e})和(G)都是(G)的子群,它们也叫平凡子群。如果(H eq G),(H)叫做(G)的真子群(proper subgroup),记作(H<G)。由于子群完全继承了父群运算,因此必定满足结合律,并且单位元和逆元不变。唯一的要求就是要子群不残缺,该有的元素(单位元和逆元)都要有,运算在子群中还要封闭。现在我们要把这几个条件写成表达式,才能给出子群的严格定义。对于(G)的一个非空子集(H),如果满足式子(10)中的条件,它就是(G)的子群。另外容易证明,这三个条件其实和式子(11)的条件是等价的,它一般被用作子群的判定条件。
[Hleqslant GquadLeftrightarrowquad ein H:wedge:(forall ain HRightarrow a^{-1}in H):wedge:(forall a,bin HRightarrow abin H) ag{10}]
[Hleqslant GquadLeftrightarrowquadforall a,bin HRightarrow ab^{-1}in H ag{11}]
如果子集(M)不满足子群的条件怎么办?你当然可以把需要的元素一个个补齐,最终满足条件的子群就叫的生成子群,记作(langle M angle)。当然,你可以给出生成子群的精确定义:包含(M)的最小子群。只有一个元素(a)生成的子群又叫循环群(langle a angle)(cyclic group),(a)叫做它的生成元(generator)。显然整数加群、有原根的即约剩余系都是循环群,并且循环群显然是交换群。
2.2 循环群
虽然定义了子群,但分解群的任务还很重,这里我们暂且休息一下,从最简单的循环群研究起。一个循环群中无非是这样的元素:(cdots,a^{-1}a^{-1},a^{-1},e,a,aa,cdots)。类似数系中的幂运算,我们可以引入指数记号(a^n)表示循环群中的每一个元素,你可以证明它完全满足指数的常规性质(公式(12)(13))。
[a^0=e,quad a^n=a^{n-1}a,quad a^{-n}=(a^{-1})^n=(a^n)^{-1} ag{12}]
[a^{m+n}=a^ma^n,quad a^{mn}=(a^m)^n ag{13}]
在任何群中,如果有最小(n>0)的使得(a^n=e),那么称(n)为(a)的阶(order),记作(|a|)。如果不存在这样的(n),则称(a)的阶为无穷大,也记作(|a|)。阶的性质和我们在《初等数论》中讨论的指数的性质完全一样,这里就不赘述了,你有必要回头去看看。
在循环群(langle a angle)中,如果(|a|=n),则显然它和有原根的既约剩余系同构:(a,a^2,cdots,a^n),并且有(varphi(n))个生成元。当(a)的阶为无穷大时,它和整数加法群同构:(cdots,a^{-2},a^{-1},e,a,a^2,cdots),其中只有(a,a^{-1})两个生成元。下面有一些阶和子群的习题,难度不大,但颇具思考价值:
• 有限子集(H)是子群的充要条件是:对任何(a,bin H),总有(abin H);
• 求证:(|a|=|a^{-1}|=|cac^{-1}|),(|ab|=|ba|),(|abc|=|bca|=|cab|);
• 求证:有限群中阶数大于(2)的元素有偶数个;
• 如果(H<G),求证(langle G-H angle=G)。
2.3 置换群
说完了最简单的群,现在来看最“完整”的群。前面我们看到群(G)中的任何元素(a)使得(aG)遍历整个群,(a)和(G)上的一个双射变换相对应。而容易证明,集合(G)上的所有双射变换(S(G))组成一个群,并且(G)是(S(G))的子群。一般地,集合(M)上的所有双射变换组成的群(S(M))叫(M)上的对称群(symmetric group)。当(|G|=n)时,又可记作(S_n),叫(n)次对称群。显然每个(n)阶群都同构于(S_n)的某个真子群,而阶为无穷的群也同构于(S(G))的某个真子群(凯莱定理)。
这样一来,我们就可以通过讨论对称群的子群来研究一般的群。对称群的子群叫置换群(permutation group)(因为元素是置换),(S_n)的子群叫(n)次置换群,这里我们只讨论(n)次置换群。将集合中元素用(1,2,cdots,n)编号,每个置换(sigma(x))可以表示为下式,改变列的顺序并不改变定义。
[egin{pmatrix}1&2&cdots&n\sigma(1)&sigma(2)&cdots&sigma(n)end{pmatrix} ag{14}]
考察置换中的映射序列:(1,sigma(1),sigma(sigma(1)),cdots),容易证明这个序列最终必定会回到(1),这就形成了一个环路。显然任何置换都是由几个不相交的环路组合而成的,有必要对它继续进行研究。每个环路其实也可以看成是一个置换,只不过环路之外的值映射到自身而已。如果环路上共有(k)个元素,这样的置换就称为(k)-循环置换(或(k)-循环),特别地,(2)-循环也叫对换。循环置换可表示为下式,其中(sigma(a_k)=a_1,sigma(a_i)=a_{i+1}),它的阶显然为(k)。
[sigma=(a_1a_2cdots a_k)=(a_2a_3cdots a_1)=cdots=(a_ka_1cdots a_{k-1}) ag{15}]
这样就可知,任何置换都可以唯一分解为几个不相交循环的乘积。另外,显然不相交循环的乘积是可交换的,故置换分解为循环后的顺序是可以任意的。另外也容易有下式成立,即循环可以分解为一系列对换的乘积(不可交换),故任一置换又可以分解为一系列对换的乘积。这个地方你需要弄清置换、对换的本质是映射,而不是对数的直接操作,否则下面的公式你会觉得困惑(因为与你预期的可能相反)。
[(a_1a_2cdots a_k)=(a_1a_k)(a_1a_{k-1})cdots(a_1a_2) ag{16}]
至此就不能再分解了,我们不禁想问,如果一个置换有不同的分解为对换的方法,那它们的对换个数有什么关系吗?现在需要一个固定的值将它们联系起来,这个值只能从置换(sigma)本身下手。对于数对(i<j),如果(sigma(i)>sigma(j)),则称(i,j)为一个反序。总反序数是固定的,定义有奇数个反序的置换为奇置换,否则叫偶置换。你可以证明,任何对换与置换相乘后都会改变它的奇偶性。而由上面的分解可知,任何置换都是由恒等变换与一系列对换相乘得来,这样不同分解的对换个数的奇偶性也就必然相等。
奇偶性是置换的一个符号性质,它们相乘后的奇偶性变化与正负符号是一样的。以某个奇置换为乘积的值,可以将偶置换与奇置换一一配对,这样它们就各占一半。另外容易看出,所有偶置换的运算是封闭的,故它们能组成一个群,这个群叫做(n)次交错群(alternating group),记作(A_n)。考虑以下问题:
• 求证(sigma au{sigma}^{-1}=egin{pmatrix}sigma(1)&sigma(2)&cdots&sigma(n)\sigma( au(1))&sigma( au(2))&cdots&sigma( au(n))end{pmatrix});
• 求证({(12),(13),cdots(1n)})和({(12),(12cdots n)})都是(S_n)的生成系。