数学史专题
1993年,群论圣安德鲁斯会议在爱尔兰高威举行。Joachim Neubüser是受邀演讲者,并作了题为An invitation to computational group theory的报告。他报告的一部分涉及计算群论(CGT)的历史,我们在下面给出一个版本。我们还给出他关于“关切”的最后一部分的一个版本。
1. 计算群论的一些历史
史前时期(1953年之前)。
群论不仅是由五次方程根式可解性这一极具计算性的问题引发的,而且从以米里迂·拉·马丢发现第一批零星群到奥托·赫尔德确定阶为pqr的群,这些(手工)计算构成了上世纪群论的很大一部分。然而,马克斯·登在1911年对有限呈现群的词问题、共轭问题和同构问题的表述[19](尽管有先例)可以被视为计算群论真正史前时期的开端,将注意力集中在群论算法的需求上。有两点值得注意:
- 这一挑战来自拓扑学,而非群论内部,而且事实上即使在现在,在群论之外使用群的人也是计算群论的强大“客户”。
- Novikov对字的判定问题算法不可解性的证明,终结了群论能够满足马克斯·登要求的希望。不久之后,人们证明了不存在能够判定一个有限呈现群是否平凡、有限、交换等的算法(关于生动的描述,见G Baumslag的书[3])。
尽管如此,1936年J A Todd和哈罗德·斯科特·麦克唐纳·考克斯特[64]至少提供了一种通过“陪集枚举”来尝试证明有限性的系统方法,而今天CGT提供了一整套用于研究有限呈现群的方法,这些方法在频繁使用中已被证明相当强大,尽管它们不是判定算法。
在使用真正的计算机之前的时期,我还想提及另外三件事:
- 1948年,H Zassenhaus描述了一种用于空间群分类的算法[65],该算法很久以后得到了非常实际的应用。
- 1951年,马克斯·纽曼在“曼彻斯特大学计算机落成会议”[47]上的演讲中提出使用概率方法来对256阶群的大量数目获得一些了解。该演讲的标题:“自动计算机对数学方法的影响”在当时是引人注目的,并且应当指出,该阶的(56 092)个群直到1989年才由E A O'Brien确定[54]。
- 然而,也许最值得注意的是其远见性,艾伦·图灵在1945年关于建造电子计算机的一份提案中的引文:“即使我们突然希望从计算氖原子的能级切换到枚举720阶群,也绝对不需要进行任何内部改动”(见[26],第293页)。
早期历史(1953—1967)
这可以看作是从群的计算方法的首次实现开始的。据我所知,最早的、大约在1953年的工作,是B Haselgrove在剑桥的EDSAC II上对约翰·阿瑟·托德-哈罗德·斯科特·麦克唐纳·考克斯特方法的部分实现(见[35]),以及S Comet在斯德哥尔摩的BARK计算机上对对称群特征标计算方法的部分实现[17]。此后不久,群论的其他领域也被尝试。E T Parker和P J Nicolai对以米里迂·拉·马丢群的类似物进行了一次——不成功的——搜寻[56],1959年编写了计算置换群子群格的程序[44],稍后又编写了用于多循环呈现的2-群的程序。随后出现了其他方法和专门研究,这一时期的程序大多用机器码编写,使用各种技巧来节省存储空间,而计算时间(尽管不那么紧迫)也是至关重要的。这一时期的结束大致以1967年牛津会议“抽象代数中的计算问题”为标志[36],在此期间CGT开始展开,但几乎没有对群论做出能让群论学家大为印象深刻的贡献。其会议录包含了对当时已尝试内容的综述[45],但也包含了一些引向……的论文。
发现的十年(1967—1977)。
在牛津会议上,一些计算方法首次被提出,这些方法现在(在某些情况下经过变化和改进)已成为CGT系统的主力:Sims处理大置换群的方法[59],试图从呈现构造重写系统的高德纳-Bendix方法[32],用于确定子群呈现的约翰·阿瑟·托德-哈罗德·斯科特·麦克唐纳·考克斯特方法的变体[42]。其他方法,如J D Dixon确定特征标表的方法[20],I D Macdonald的-幂零商方法[41],以及G Havas用于子群呈现的Reidemeister-Schreier方法[23],在该会议后的几年内发表。
然而,至少同样重要的是,一些计算方法的应用程序使群论学家意识到了CGT。我提及其中三个:C C Sims在1973年使用他的置换群方法证明了Lyons零星单群的存在[60],M F 马克斯·纽曼和G Havas使用原始-幂零商方法的扩展确定了阶为的威廉·伯恩赛德群[49],以及确定了4维空间的(4783个同构类的)空间群[4],这不仅使用了Zassenhaus的算法,还利用了使用确定子群格的程序来找到的极大有限子群的所有子群的可能性。
这一进展鼓励了设计CGT系统的尝试,在这些系统中可以使用各种方法而无需将数据从一个程序转换到另一个程序。到1974年,第一个“亚琛-悉尼群系统”投入运行[11],1976年John Cannon发表了“群论语言阿瑟·凯莱草案描述”[12],这可以被视为转向……
现代时期。
大约自1977年以来,计算群论(CGT)的发展正在迅速加快,这一说法可以通过考察四个方面来证明:成果、方法、系统和宣传。
成果。
具体的计算结果,这里再次仅列举部分:Sims证明了阶为4 154 781 481 226 426 191 177 580 544 000 000的Babymonster作为次数为13 571 955 000的置换群的存在性,使用的是基于其置换群技术的非常特殊的实现[61];Janko的的存在性则是通过模表示的計算技术证明的[51]。-幂零商技术现在已经足够强大,例如可以证明受限威廉·伯恩赛德群的类18因子的阶为[25]。根据M F 纽曼的建议[50],E A O'Brien实现了一个-群生成程序,足以确定阶为的群(58760个同构类)[54]。制作和检查Cambridge Atlas of Finite Groups[14]——可能是使用最广泛的群论表——涉及大量的实现和群论程序的使用(特别是用于处理特征标),对于列出散在单群的理查德·布饶尔树[24]或完美群[27]的书籍以及其他列表,例如本原或传递置换群的列表,情况也是如此。
方法。
这些以及更多具体的计算之所以成为可能,是因为大量新方法及其被整合到通用和专用系统中。
我已经提到过-群生成方法,它建立在-幂零商算法(pNQ)之上,并与最近探索借助空间群对具有恒定余类的-群族进行分类的可能性相关联[38]。pNQ的另一个非常新的产物是(真)幂零商算法,它沿着有限呈现群的下中心列逐步下降。已经提出了若干方案,其中一些最近已实现,用于寻找有限呈现群的可解因子群,使用了诸如上同调群、模表示或Gröbner基等概念[37]、[55]、[62]。
通过同态像进行研究已成为处理多循环呈现的有限可解群的首选方法[39],但也已成为处理置换群不可或缺的方法[33]。
研究置换群的方法几乎经历了一场革命,引入了结构理论,如本原群的O'Nan-Scott分类,甚至有限单群的分类,如今例如在某些情况下允许确定次数高达数十万的群的合成列。特别有趣的是,这些置换群的新方法——如今也已变得非常实用——最初是通过对置换群算法复杂性的相当理论性的讨论而引入的。([46]、[31]、[34]、[8]、[7]、[9],仅提及关于此主题的众多论文中的一小部分。)
有多种多样的方法可用于处理表示和特征标[53]、[40],其中许多是交互式的。
CGT中一个长期被忽视但如今发展非常迅速的分支是研究有限域上矩阵群的方法[52],它们大量利用了Aschbacher分类[1]。
系统。一个程序系统包含多个组成部分:存储管理、一种既可用于交互使用又可用于编写程序的问题导向语言,该语言可以调用系统函数(并可能直接访问数据)、一个可应用于所研究对象的函数库,以及此类对象的库。CGT的第一个通用系统开发于70年代中期,是亚琛-悉尼群系统,其中J 安妮·坎农提供了存储管理(栈处理器)和语言(凯莱)。函数用Fortran编写。该系统发展成为凯莱系统[5],其函数在1987年左右被半自动地翻译成C。凯莱最近以MAGMA [CP93]之名被重新建模,并扩展为一个超越CGT的通用计算机代数系统。
另一个用于CGT的通用系统称为GAP(Groups, Algorithms, and Programming),于1986年在亚琛启动。其设计受到计算机代数系统Maple的影响:GAP有一个用C语言编写的内核,包含存储管理、GAP语言的解释器(将来还会有编译器)以及基本的时间关键函数。GAP函数的绝大多数是用GAP语言编写的,因此可以被理解、检查和修改,这一点我将在最后一节中评论。
凯莱和GAP都得到了广泛使用。对于凯莱可以给出更精确的数字,因为它必须付费获得许可,J 坎农报告到1990年有超过200个许可证[13]。GAP可以通过ftp免费获得并转发,因此无法完全控制其传播。一个迹象是GAP论坛约有240名成员,以及我们获得的超过350份安装报告。
在70年代末和80年代,编写了许多非常专门的系统,它们被凯莱和GAP吸收或淘汰,还有一些补充了这两个通用系统的范围,其中包括Quotpic [28],为有限呈现群的因子群计算步骤提供了非常好的可视化,MOLGEN [22]用于将群论方法应用于图的构造,特别是表示有机化合物的结构,以及MOC [40]用于构造模特征表。
宣传。
对CGT系统的需求已经表明算法方法在群论研究(以及日益增长的教学)中的广泛使用。CGT在群论一般会议上的出现,如1981年、1985年、1989年以及现在的1993年所有四次Groups St Andrews会议,以及CGT专门会议日益频繁,都是进一步的迹象。虽然第一次完全致力于CGT的会议于1982年在达勒姆举行[2],但后续会议有1988年和1992年的Oberwolfach,1991年[21]和1994年的DIMACS。除了一些综述(特别参见[15]以获取最近一篇带有许多参考文献的综述)外,最近还出版了两本关于该领域部分内容的专著。Greg Butler [10]试图向没有群论预备知识的计算机科学学生介绍置换群的计算方法,而Charles Sims [63]则权威地阐述了研究有限呈现群的方法,强调各种方法的共同特征。
Joachim Neubüser对Sims的Computation with finitely presented groups的评论位于THIS LINK。
总结前面各节所报告的内容,人们可能会得出非常乐观的结论。计算群论已经证明了它的威力,它的许多方法普遍且方便地可用,并被广泛使用。而对于未来:计算机变得更快,存储空间更大,两者都更便宜,方法更好,程序系统更全面且更易于使用。所以未来一片光明,充满希望!是这样吗?我有一些担忧。
总而言之,在我看来,有必要避免任何会将算法设计与实现的工作与其他数学工作分开的事情。相反,我们必须尽一切努力适应习惯,并采用数学其他部分中常见的行事规则。为此,计算群论需要与群论的所有其他部分最紧密地合作。这正是论文标题想要表达的:我想邀请你们进入计算群论,它不应被视为群论的天堂,那里闪亮的黑箱吐出特征表和上同调群,而应被视为一个需要大量照料的领域,但也值得你们帮助照料它。