论文部分内容阅读
[摘 要] 针对近世代数课程高度抽象和概括的特点,介绍了Magma软件在近世代数教学中的具体运用。通过Magma的使用,可以转化近世代数内容的呈现方式,使证明清晰化,计算简单化,结论直观化,使近世代数教和学都充满活力。
[关 键 词] 近世代数;教学;数学软件Magma
[中图分类号] G420 [文献标志码] A [文章编号] 2096-0603(2016)01-0124-02
一、近世代数及其教学现状
近世代数,即抽象代数,是研究各种抽象的公理化代数系统的数学学科,是现代数学的重要基础,它的研究对象是群、环、域等带有运算的集合,它将集合中运算的共性抽象出来作为不同的代数结构进行研究,因此,近世代数具有高度的抽象性和严密的逻辑性,令初学者感到生涩难懂,过于抽象复杂,但近世代数的教学对培养学生严谨的思维方法和数学素养,提高学生的抽象思维能力和逻辑推理能力都具有重要意义。
在我国,近世代数的教学主要是教师按照教学大纲的要求,对定义、引理、定理等在课堂上给学生进行理论上的演示,使学生理解并掌握相关的内容,以教师传授系统知识为主,但过多偏重理论体系的完整性,过多强调证明和推理,有些结果直接给出而不做任何说明和解释,这样忽视了学生作为主体的地位,往往学生对知识不理解,对内容不熟悉,对作业无从下手,这不利于培养学生主动获取知识的能力,不利于培养学生创新能力,从而学生很难理解近世代数的基本思想和理论,更难谈用它来处理或解决具体问题,影响后继课程学习的热情。
随着大数据时代的到来,利用计算机软件(如Matlab,Mathematica,Maple等)来辅助课程(如高等数学、线性代数)教学已经非常流行。然而,这些软件很少被应用到近世代数的教学中,究其原因主要是这门课程研究对象的抽象性在一般的软件上难以实现。文献中介绍了GAP在近世代数教学中的应用,这对近世代数的教学起到了很好的辅助作用。本文试图利用数学软件Magma来辅助近世代数的教学,转化教学内容的呈现方式,达到激发学生的学习兴趣,提高逻辑思维能力,开阔视野的目的,从而提高教学质量。
二、Magma介绍
Magma是澳大利亚悉尼大学John Cannon领导的科研团队研发的大型代数计算软件包,其计算功能非常强大,专门解决代数系统中的数论、代数几何和代数组合学的计算问题等等。Magma提供了用户自定义或直接利用诸如群、环、域、模、代数、计划、曲线、图表、设计、编码和其他许多代数系统进行计算的一个数学环境。以群论为例,Magma适用于各种有限群的计数理论,它还提供了一个很大的群库,包括除去1024阶群的所有阶不超过2000的群,所有级不超过30的传递置换群,阶至多为p7的p群,所有亚循环p群等。总之,Magma是一个极其复杂的软件包,光使用手册就有8本,以供不同的学者使用,下面就是Magma的官方网站http://magma.aths.usdy.edu.au/magma/。唯一比较遗憾的是,这款软件并没有完全免费公开。
三、Magma在近世代数教学中的一些应用
近世代数的教学过程中,我们经常遇到比较难理解的定义或者较繁琐的证明,这里借助Magma对近世代数的相关内容进行处理,以便学生理解和学习。另外,通过Magma所给出的结果反过来指导我们的教研,能极大地减少计算量,给理论证明指引思路。下面我们介绍Magma在近世代数教学中的一些应用。
(一)利用Magma自带语言将抽象概念具体化,繁琐计算简单化
近世代数中有很多抽象的概念不容易理解或判断,利用Magma可以使概念具体、形象,容易辨识。
例1.给出交错群A5的所有子群。
A5是最小阶的非交换单群,它的子群的性质是我们经常用的结果,通过共轭作用我们知道它没有非平凡的正规子群,那具体是怎么实现的呢?我们利用Magma来实现。
输入:G:=Alt(5);
MaximalSubgroups(G);
输出:极大子群的共轭类有三个,分别是:[1]6阶,<(12)(45),(354)>,[2]10阶,<(15)(24),(12453)>,[3]12阶,<(145),(15)(34),(13)(45)>。
我们容易从结果中发现A5的极大子群分别是S3,D10,D12。
例2.给出对称群S4的正规子群。
因为S3是最小阶的非交换群,它的结构是非常熟悉的,对于包含S3的最小对称群S4有哪些性质?为什么S3在S4中并不正规,需要的计算比较多,通过共轭作用,我们利用Magma来实现。
输入:G:=Sym(4);
NormalSubgroups(G);
输出:正规子群有四个,分别是:[1]24阶,<(234),(34),(14)(23),(13)(24)>,[2]12阶,<(234),(14)(23),(13)(24)>,[3]4阶,<(14)(23),(13)(24)>,[4]1阶,Id(G)。
我们容易从结果中发现S4的正规子群分别是S4,A4,K4,1。
(二)利用Magma自定义语言研究特殊的Dedekind群
近世代数的创立来自于伽罗华理论,其中正规子群起到了重要作用,学生对于子群都正规的Dedekind群比较有兴趣,对于它的结构及相关的研究是探讨的活跃点。
例3.研究每个子群的导群都正规的有限群。
Dedekind群的结构是Q8*E*O,其中Q8是8阶四元数群,E是初等交换2-群,O是奇阶群,对于每个子群的导群而言正规性并不一定保持,所以下面给出判断群的每个子群的导群都正规的群结构。 输入:SetLogFile(“GD.txt”);#设置存储文件名GD
f:=function(G) #子群函数
H:=Subgroups(G);
S:=[]; C:={}; D:=[]; E:={@ @};
for i in[1..#H] do
if H[i]`length eq 1 then Append(~S,H[i]`subgroup);
else C:=Class(G,H[i]`subgroup);
E:=SetToIndexedSet(C);D:=IndexedSetToSequence(E);
for j in [1..H[i]`length] do Append(~S,D[j]);
end for;
end if;
end for;
return(S);
end function;
f0:=function(G) #正规子群函数
H:=Subgroups(G); S:=[]; C:={}; D:=[];E:={@ @};
for i in[1..#H] do
if H[i]`length eq 1 then Append(~S,H[i]`subgroup);
end if;
end for;
return(S);
end function;
f2:=function(G) #每个子群导数正规化子的交函数
H:=f(G); s1:=[];s:=[];
for i:=1 to #H do
Append(~s1,DerivedSubgroups(H[i]));
end for;
for i:=1 to #s1 do
Append(~s,Normalizer(G,s1[i]));
end for;
t:=G;
for j:=1 to #s do
t:=t meet s[j];
end for;
return(t);
end function;
for i in [1..2000] do n:=0; #在小群库[1,2000]中判断P:=SmallGroupProcess(i);repeat G:=Current(P);
CurrentLabel(P);
S:=[];M:=[];L:=[];
if not IsNilpotent(G) then H1:=f0(G);
if G eq f2(G) #每个子群导数都正规
then n:=n+1;CurrentLabel(P), G;f1(G);f2(G);
“,,,,,,,,,,,,,,,,,,,,,,,,,n”;#输出G;f1(G);f2(G的结构);
end if;
end if;
Advance(~P);
until IsEmpty(P);
end for;
每个子群的导群的有限群是一类亚幂零群,它的结构比较多,输出的结果也比较多,这里只书写最小的三个:
[1]6阶,生成关系:G.1^2 = Id(G), G.2^3 = Id(G), G.2^G.1 = G.2^2
[2]10阶,生成关系:G.1^2 = Id(G), G.2^5 = Id(G), G.2^G.1 = G.2^4
[3]12阶,生成关系:G.1^2 = G.2, G.2^2 = Id(G), G.3^3 = Id(G), G.3^G.1 = G.3^2
四、小结
从上面的例子可以看到,利用Magma辅助近世代数教学,可以让抽象的数学理论具体化、直观化,也可以让学生亲身参与,培养学生的探索能力等,在一定程度上能增强数学学习兴趣,提高分析和解决问题的能力,达到提高教学质量的目的。因此,在实践中,教师要根据每个章节具体的教学内容、教学目标以及学生的认知水平来决定是否使用及如何使用Magma。
参考文献:
[1]刘绍学.谈谈“近世代数”这门课[J].高等数学研究,2000,3(3):8-9.
[2]吕恒,徐海静.关于近世代数中群论学习的探讨[J].西南师范大学学报(自然科学版),2012,37(2):131-133.
[3]刘建军.GAP在近世代数教学中的应用[J].西南师范大学学报(自然科学版),2013,38(4):148-151.
[4]董井成.GAP在近世代数教学中的应用[J].高等数学研究,2011,3(3):89-90.
[关 键 词] 近世代数;教学;数学软件Magma
[中图分类号] G420 [文献标志码] A [文章编号] 2096-0603(2016)01-0124-02
一、近世代数及其教学现状
近世代数,即抽象代数,是研究各种抽象的公理化代数系统的数学学科,是现代数学的重要基础,它的研究对象是群、环、域等带有运算的集合,它将集合中运算的共性抽象出来作为不同的代数结构进行研究,因此,近世代数具有高度的抽象性和严密的逻辑性,令初学者感到生涩难懂,过于抽象复杂,但近世代数的教学对培养学生严谨的思维方法和数学素养,提高学生的抽象思维能力和逻辑推理能力都具有重要意义。
在我国,近世代数的教学主要是教师按照教学大纲的要求,对定义、引理、定理等在课堂上给学生进行理论上的演示,使学生理解并掌握相关的内容,以教师传授系统知识为主,但过多偏重理论体系的完整性,过多强调证明和推理,有些结果直接给出而不做任何说明和解释,这样忽视了学生作为主体的地位,往往学生对知识不理解,对内容不熟悉,对作业无从下手,这不利于培养学生主动获取知识的能力,不利于培养学生创新能力,从而学生很难理解近世代数的基本思想和理论,更难谈用它来处理或解决具体问题,影响后继课程学习的热情。
随着大数据时代的到来,利用计算机软件(如Matlab,Mathematica,Maple等)来辅助课程(如高等数学、线性代数)教学已经非常流行。然而,这些软件很少被应用到近世代数的教学中,究其原因主要是这门课程研究对象的抽象性在一般的软件上难以实现。文献中介绍了GAP在近世代数教学中的应用,这对近世代数的教学起到了很好的辅助作用。本文试图利用数学软件Magma来辅助近世代数的教学,转化教学内容的呈现方式,达到激发学生的学习兴趣,提高逻辑思维能力,开阔视野的目的,从而提高教学质量。
二、Magma介绍
Magma是澳大利亚悉尼大学John Cannon领导的科研团队研发的大型代数计算软件包,其计算功能非常强大,专门解决代数系统中的数论、代数几何和代数组合学的计算问题等等。Magma提供了用户自定义或直接利用诸如群、环、域、模、代数、计划、曲线、图表、设计、编码和其他许多代数系统进行计算的一个数学环境。以群论为例,Magma适用于各种有限群的计数理论,它还提供了一个很大的群库,包括除去1024阶群的所有阶不超过2000的群,所有级不超过30的传递置换群,阶至多为p7的p群,所有亚循环p群等。总之,Magma是一个极其复杂的软件包,光使用手册就有8本,以供不同的学者使用,下面就是Magma的官方网站http://magma.aths.usdy.edu.au/magma/。唯一比较遗憾的是,这款软件并没有完全免费公开。
三、Magma在近世代数教学中的一些应用
近世代数的教学过程中,我们经常遇到比较难理解的定义或者较繁琐的证明,这里借助Magma对近世代数的相关内容进行处理,以便学生理解和学习。另外,通过Magma所给出的结果反过来指导我们的教研,能极大地减少计算量,给理论证明指引思路。下面我们介绍Magma在近世代数教学中的一些应用。
(一)利用Magma自带语言将抽象概念具体化,繁琐计算简单化
近世代数中有很多抽象的概念不容易理解或判断,利用Magma可以使概念具体、形象,容易辨识。
例1.给出交错群A5的所有子群。
A5是最小阶的非交换单群,它的子群的性质是我们经常用的结果,通过共轭作用我们知道它没有非平凡的正规子群,那具体是怎么实现的呢?我们利用Magma来实现。
输入:G:=Alt(5);
MaximalSubgroups(G);
输出:极大子群的共轭类有三个,分别是:[1]6阶,<(12)(45),(354)>,[2]10阶,<(15)(24),(12453)>,[3]12阶,<(145),(15)(34),(13)(45)>。
我们容易从结果中发现A5的极大子群分别是S3,D10,D12。
例2.给出对称群S4的正规子群。
因为S3是最小阶的非交换群,它的结构是非常熟悉的,对于包含S3的最小对称群S4有哪些性质?为什么S3在S4中并不正规,需要的计算比较多,通过共轭作用,我们利用Magma来实现。
输入:G:=Sym(4);
NormalSubgroups(G);
输出:正规子群有四个,分别是:[1]24阶,<(234),(34),(14)(23),(13)(24)>,[2]12阶,<(234),(14)(23),(13)(24)>,[3]4阶,<(14)(23),(13)(24)>,[4]1阶,Id(G)。
我们容易从结果中发现S4的正规子群分别是S4,A4,K4,1。
(二)利用Magma自定义语言研究特殊的Dedekind群
近世代数的创立来自于伽罗华理论,其中正规子群起到了重要作用,学生对于子群都正规的Dedekind群比较有兴趣,对于它的结构及相关的研究是探讨的活跃点。
例3.研究每个子群的导群都正规的有限群。
Dedekind群的结构是Q8*E*O,其中Q8是8阶四元数群,E是初等交换2-群,O是奇阶群,对于每个子群的导群而言正规性并不一定保持,所以下面给出判断群的每个子群的导群都正规的群结构。 输入:SetLogFile(“GD.txt”);#设置存储文件名GD
f:=function(G) #子群函数
H:=Subgroups(G);
S:=[]; C:={}; D:=[]; E:={@ @};
for i in[1..#H] do
if H[i]`length eq 1 then Append(~S,H[i]`subgroup);
else C:=Class(G,H[i]`subgroup);
E:=SetToIndexedSet(C);D:=IndexedSetToSequence(E);
for j in [1..H[i]`length] do Append(~S,D[j]);
end for;
end if;
end for;
return(S);
end function;
f0:=function(G) #正规子群函数
H:=Subgroups(G); S:=[]; C:={}; D:=[];E:={@ @};
for i in[1..#H] do
if H[i]`length eq 1 then Append(~S,H[i]`subgroup);
end if;
end for;
return(S);
end function;
f2:=function(G) #每个子群导数正规化子的交函数
H:=f(G); s1:=[];s:=[];
for i:=1 to #H do
Append(~s1,DerivedSubgroups(H[i]));
end for;
for i:=1 to #s1 do
Append(~s,Normalizer(G,s1[i]));
end for;
t:=G;
for j:=1 to #s do
t:=t meet s[j];
end for;
return(t);
end function;
for i in [1..2000] do n:=0; #在小群库[1,2000]中判断P:=SmallGroupProcess(i);repeat G:=Current(P);
CurrentLabel(P);
S:=[];M:=[];L:=[];
if not IsNilpotent(G) then H1:=f0(G);
if G eq f2(G) #每个子群导数都正规
then n:=n+1;CurrentLabel(P), G;f1(G);f2(G);
“,,,,,,,,,,,,,,,,,,,,,,,,,n”;#输出G;f1(G);f2(G的结构);
end if;
end if;
Advance(~P);
until IsEmpty(P);
end for;
每个子群的导群的有限群是一类亚幂零群,它的结构比较多,输出的结果也比较多,这里只书写最小的三个:
[1]6阶,生成关系:G.1^2 = Id(G), G.2^3 = Id(G), G.2^G.1 = G.2^2
[2]10阶,生成关系:G.1^2 = Id(G), G.2^5 = Id(G), G.2^G.1 = G.2^4
[3]12阶,生成关系:G.1^2 = G.2, G.2^2 = Id(G), G.3^3 = Id(G), G.3^G.1 = G.3^2
四、小结
从上面的例子可以看到,利用Magma辅助近世代数教学,可以让抽象的数学理论具体化、直观化,也可以让学生亲身参与,培养学生的探索能力等,在一定程度上能增强数学学习兴趣,提高分析和解决问题的能力,达到提高教学质量的目的。因此,在实践中,教师要根据每个章节具体的教学内容、教学目标以及学生的认知水平来决定是否使用及如何使用Magma。
参考文献:
[1]刘绍学.谈谈“近世代数”这门课[J].高等数学研究,2000,3(3):8-9.
[2]吕恒,徐海静.关于近世代数中群论学习的探讨[J].西南师范大学学报(自然科学版),2012,37(2):131-133.
[3]刘建军.GAP在近世代数教学中的应用[J].西南师范大学学报(自然科学版),2013,38(4):148-151.
[4]董井成.GAP在近世代数教学中的应用[J].高等数学研究,2011,3(3):89-90.