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