李尚志抽象代数的人间烟火

作者:李尚志北京航空航天大学学术委员会主任,教授,博士生导师。

抽象代数课如果只是死记硬背一些自己根本不懂的定义,没有例子,没有计算,不会解决任何问题,这样的抽象代数只能给零分。

抽象代数有没有既体现数学本质、又引人入胜的例子?本文介绍的就是这样的例子。

某校有一个被保送读研的学生参加我们的面试。我问她哪门课程学得最好。答曰“抽象代数”。不等我问问题,她就开始自问自答,开始背诵群的定义。我马上制止她,说不要你背定义,只要你举例。让她举一个非交换群。举不出来。举一个有限域,举不出来。我说:这两个例子举不出来,抽象代数零分!她大惑不解,说:“既然叫做抽象代数,就是没有例子嘛!”她大概认为我学的是假的抽象代数,她学的真的抽象代数就是死记硬背一些自己根本不懂的定义,没有任何例子,不解决任何问题,也没有任何前因后果。

如果只是少数学生这样认为,可以怪她自己学得不好。问题的严重性在于:持这样观点的学生不是一两个,也不是百分之一二十,据我了解,学习抽象代数的大学生中有百分之九十以上持这种观点,只不过这个学生将这种观点总结得特别明确、特别精彩而已。这恐怕就不能怪学生,而应当从教材和教学中找原因了。

现有的抽象代数教材,不是没有例子。这些例子本来就很精彩。三等分角的尺规作图,五次方程的求根公式,这是迄今为止一些“民间科学家”还在花费毕生精力苦心钻研的世界“难题”,早就被抽象代数解决了,这还不够精彩吗?密码、编码中的理论和实践,抽象代数大显身手,也够精彩了。但是,这些精彩问题的解答叙述起来太难,学生不容易懂。要讲清楚,课时也不够。只有少数名牌大学的抽象代数课程还稍微讲一些,在其余的学校,就将抽象代数这些精华和灵魂砍掉了,只剩下最容易讲的:让学生死背一些自己也不懂的定义。考试也不考用知识解决问题,只考背定义。抽象代数就不是数学课,而是识字课,只要死记硬背就行了。金庸的武侠小说《射雕英雄传》中的武功秘籍《九阴真经》中有一段用梵文写的话:“努尔七八,哈瓜儿,宁血契卡,混花察察,学根许八涂,米尔米尔。”只要认识字,小学生也可以化功夫死记硬背下来,甚至可以到电视大赛中去表演,被媒体炒作成“武功神童”。但只要你不是傻瓜,就知道不用学武功也打得过这样的武功神童。同样,即使将整本抽象代数教材全部背熟而根本不懂它的意思,举不出一个例子,不会用来解决任何一个问题,这样学习的抽象代数就是假冒的,通通都应当给零分!我的抽象代数考题,从来不考背定义,只考举例、计算和证明。有的学生不会举例和计算,就把群环域的定义写出来希望得几分。以前我还给一分两分。经过上述那位学生的启发,对这样的答卷就一律给零分了。

这些年来,我在抽象代数课程建设中所做的全部努力,就是要灭掉这种“就是没有例子”的假抽象代数。取得的主要成绩,就是积累了一批既能体现数学本质、又为学生喜欢的案例。下面是其中的一部分案例。

1.幻方一变八----正方形的对称群

我在抽象代数考试中考过这样的题:将如下的3阶幻方通过旋转和轴对称变出尽可能多的不同的幻方。

2

9

4

7

5

3

6

1

8

这不是考小学奥数。而是考正方形的对称群:旋转90o,o,o得到3个新的幻方,关于第2行、第2列、两条对角线做轴对称得到4个新的幻方,包括原来的幻方在内一共可以得到8个。

为什么只能得到8个而不能得到更多?通过旋转和轴对称只能将左上角的2变到4个不同的位置(正方形的4个角)。将2固定在每个角不动,只能通过轴对称得到2个不同的幻方,4组总共2×4=8个。这实际上是说:将正方形变到与自己重合,有8个不同的动作。这8个动作组成的集合对乘法(复合)与求逆运算封闭,组成一个群。其中保持2不动的动作组成一个2阶子群,将2变到同一个位置的动作组成一个陪集。非交换群、子群与陪集、子群的元素个数2是整个群的元素个数8的因子。这些概念和知识都自然而然引入了。

类似地,可以计算正方体的对称群或者旋转群的元素个数,或者任意正多边形和正多面体的对称群的元素个数。特别,正三角形的对称群由三个顶点的所有置换组成,就是元素最少的非交换群S3。

2.0与1的算术----二元域

许多人说有限域是抽象代数最后一节课讲的,最难,没学好情有可原,考试也不应当考。其实有限域最容易讲,最有趣,最有用,最有抽象代数味道,可以在抽象代数课第一节课第一分钟讲。如果抽象代数考试只考一道题,别的都可以割舍,有限域必须考。

小学生都懂得奇偶数的运算规律:偶+偶=偶,偶+奇=奇,奇+奇=偶;偶×整数=偶,奇×奇=奇。将偶数用0表示,奇数用1表示,就得到:0+0=0,0+1=1,1+1=0;0×a=0(a=0或1),1×1=1。按这样的运算公式,两个元素0,1组成的集合Z2就对加、减、乘、除封闭,Z2就是二元域,最简单的有限域。

我的导师曾肯成教授出过一个题:求随机整数组成的n阶行列式为奇数和偶数的概率。貌似概率题,其实是代数题。将行列式中的偶数用0表示,奇数用1表示,行列式为奇数(也就是等于1)就是二元域上可逆矩阵,充分必要条件就是各行线性无关。归结为二元域上的线性代数题。另一个例子是:在二元域上解齐次线性方程组,得到纠错码的一个设计方案。二元域在信息与计算机科学中至关重要。会算1+1=0,就懂了一点真正的抽象代数。

为什么两个整数a,b的和、差、积的奇偶性只与a,b的奇偶性有关而与奇数与偶数的不同取值无关?将a,b分别用它们除以2的余数r,s代表(r,s取值为0或1),写成a=r+偶,b=s+偶的形式,则a±b=(r+偶)±(s+偶)=(r±s)+(偶±偶),ab=(r+偶)(s+偶)=rs+r×偶+偶×s+偶×偶。不论其中的“偶”取什么偶数值,总有:偶±偶=偶,偶×整数=偶,就好象0±0=0,0×数=0一样。可以将算式中的“偶”看作0来运算,得到a±b=(r±s)+偶,ab=rs+偶。也就是说:将a,b替换成与它们奇偶性相同的0或1进行运算,得到的和、差、积的奇偶性不变。这件事可以推广:a,b取值的整数集合Z替换成对合法的加法与乘法封闭的任意集合D,称为环;偶数集合替换成D中具有类似于0的运算性质O±O=O,D×O=O的子集O,称为理想。D中两个元素a,b的差如果在O中,就将a,b“看成”同一类,得到的同余类组成的集合可以定义加、减、乘运算,这就是商环D/O。特别,当D=Z,O=nZ时,商环D/O就是整数模n的同余类环Zn。另一个重要例子:D是在某点c连续的全体全体实函数f(x)组成的环,记Dx=x-c,o(1)与o(Dx)分别是当Dxà0时的无穷小量和高阶无穷小量组成的集合,则o(1)与o(Dx)都是D的理想,同余式f(x)≡a(modO(Dx))表示当xàc时f(x)的极限是a,而f(x)≡a+bDx(modo(Dx))表示b是f(x)在c的导数。

3.从凯撒密码谈起-----整数的同余类。

密码的重要性不容置疑,神秘性也令人向往。最早的一种简单密码是凯撒设计的,加密方案是将每个英文字母用它后面第3个字母代替。将26个字母依次用整数模26的各个同余类表示,凯撒密码的加密就可以用最简单的加法函数y=x+3表示,解密函数为x=y-3。更进一步,可以用Z26上的一次函数y=ax+b加密,其中a可逆,称为仿射密码。例如3×9=1就说明9=3-1,加密函数y=3x+5的解密函数就是x=9(y-5)。Z26中的乘法可逆元组成乘法群Z26*,由与26互素的整数所在的同余类组成。更进一步,可以将若干个字母对应的同余类组成列向量X,用矩阵运算Y=AX+B来加密,其中A的行列式在Z26*中。也可以将信息写成二元域Z2上的列向量,用Z2上的矩阵运算Y=AX+B加密。

更一般地,讨论Zn的乘法群Zn*。特别,当n为素数p时,Zp中的p-1个非零元都可逆,组成乘法群Zp*。Zp是有限域,Zp*中的元素都可以写成一个元素的幂,Zp*是循环群。在另一种情形,n=pq是两个素数p,q的乘积,为了讨论Zn及其乘法群Zn*的构造,将每个整数a除以p,q各得到一个余数r,s,将a对应到“坐标”(r,s),就建立了环同态ZàZp×Zq,进而得到环同构ZnàZp×Zq,这就引出了中国剩余定理,环同态基本定理,环的直积。进而可以讨论Zn上的幂函数y=xm是可逆变换的条件,得到RSA公钥密码。

4.x15-1在有理数范围内的因式分解

x15-1在复数范围内分解为一次因子的乘积(x-1)(x-w)…(x-wn-1),每个一次因子x-wk对应于一个15次单位根wk,每个wk的在乘法群中的阶d都是15的因子,共有4个不同的值1,3,5,15。将15个根按阶的不同值分成4类,以阶是d的单位根为根的一次因子的乘积记为Fd(x),称为分圆多项式,分别等于F1(x)=x-1,F3(x)=(x3-1)/(x-1)=x2+x+1,F5(x)=(x5-1)/(x-1)=x4+x3+x2+x+1,F15(x)=(x15-1)/F1(x)/F3(x)/F5(x)=x8-x7+x5-x4+x3-x+1,都是有理整系数多项式。x15-1分解为这4个有理系数因式的乘积。

5.无限循环小数的循环节长度

有一次逛商场,看见某商品打折的广告“原价元”。我在读小学高年级的时候就很熟悉1/7展开成循环小数等于0.57…,因此一看见就知道这个“原价”是由÷70%≈算出来的。也就知道这个商品的现价一定是元,打七折。

分数化小数得到的无限小数为什么一定是循环小数?1/7的循环节为什么是6位?一般地,q/p化成的无限小数的循环节应当是几位?看起来这是小学算术,其中的奥妙却需要抽象代数来解释。

a=1/7=0.5757…是循环小数,循环节是6位。这件事可以描述为:将a的小数点往右移动6位,得到的a=57.57…的小数部分与a相同,二者的差a-a=(-1)/7是整数。也就是说:被7除的余数等于1。

反过来,假定预先不知道1/7的循环节,只要找到最小的正整数d使10d被7除余1,则循环节是d位,(10d-1)/7就是循环节。具体计算得10的1至6次幂被7除的余数依次是3,2,6,4,5,1。使10d被7除的余数为1的最小正整数d=6,由此可知1/7的循环节长度为6.

如果将a=1/7=0.57…的小数点不是往右移6位而只移1位,得到的10a=10/7=1+3/7=1.…的小数部分3/7=0.…就不等于a而等于a的3倍,10a的循环节相应地等于a的循环节57的3倍.10a的循环节实际上可以由a的循环节57的第1个数字1移到末位得到.类似地,将57前两位数字移到末尾得到的是/7=14+2/7的小数部分2/7的循环节,等于57的2倍.一般地,将1/7的循环节D=57前面k位数字移到末尾得到的整数Dk称为D的一个轮换,等于10k/7=q+r/7的小数部分r/7的循环节,应是D的r倍,其中r等于10k被7除的余数.6位整数D=57可以得到6个不同的轮换,取遍了D的1,2,3,4,5,6倍.反过来就是说:57的1,2,3,4,5,6倍都是自己的轮换.

1/7的循环节57还有另外的神奇性质:将它平均分成两段的和+=,平均分成3段之和14+28+57=99,全都由9组成!原因也很简单:

0.57…+0.…=1/7+r3/7=(1+r3)/7,

其中r3≡(mod7),r32≡≡1(mod7),(r3-1)(1+r3)=r32-1≡0(mod7).且(r3-1)不被7整除,因而与7互素,可知1+r3≡0(mod7),1+r3被7整除.再由1+r31+7知

(1+r3)/7=1=0.…,+=.类似地,设r2是被7除的余数,则由

(r2-1)(r22+r2+1)=r23-1≡()3-1≡0(mod7)知

0.57…+0.…+0.57…=(1+r2+r22)/7

是整数且不超过(1+5+6)/72,只能等于1.得到14+28+57=99.

以上结论可以推广到2,5以外的任意素数p为分母的真分数.a=1/p的循环节D的长度d是使10d被p除余1的最小正整数,也就是10在p元域Zp的乘法群中的阶.p元域的乘法群的阶为p-1,其中的元素10的阶d是p-1的因子.真分数q/p=qa的循环节为qD,长度仍为d.1/p的循环节D的d个轮换都是D的倍数rD,其中每个r是某个10k(k=1,2,…,d)被p除的余数.当d=p-1时,D的1,2,…,p-1倍都可以由D轮换得到.当dp-1时,由D只能轮换出d个倍数而不能得到p-1个倍数.除此之外的另外每个倍数qD可以轮换出d个不同的倍数rqD(r取遍10k被p除的余数,k=1,2,…,d),由某m=(p-1)/d个不同的qD可轮换出p-1个不同的倍数来.

例如,当p=3,11,13时10在Z3,Z11,Z13的乘法群中的阶d分别为1,2,6都是p-1的因子,1/3=0.33…,1/11=0.…,1/13=0.…的循环节3,09,的长度确实都等于d.p=17,19时10在Zp的乘法群中的阶为p-1,计算得

1/17=0.…,1/19=0.…

循环节D的长度确实达到p-1,循环节D的1,2,…,p-1倍确实可以由D轮换出来.

与1/7同理可知:如果1/p的循环节D的长度d是偶数,则将D平均分成两段之和的数字全是9;如果d被3整除,则将D平均分成3段之和的数字全是9.不妨自己对1/13,1/17,1/19的循环节验证.更一般地,将D平均分成若干等分的和一定是某个全由9组成的整数的整数倍.

赞赏

长按







































北京哪里有治疗白癜风医院
北京哪治疗白癜风最好



转载请注明地址:http://www.guohegui.com/wsbs/1180.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章