GroupTheory
AbelianGroup
construct a finitely generated Abelian group
AllAbelianGroups
find all Abelian groups of a given order
Calling Sequence
Parameters
Description
Examples
Compatibility
AbelianGroup( [ t1, t2, ... ], formopt )
AbelianGroup( [ r, [ t1, t2, ... ] ], formopt )
AllAbelianGroups( n, formopt, outputopt )
r
-
a non-negative integer
ti
a positive integer
n
formopt
(optional) equation of the form form = F, where F is either "permgroup" or "fpgroup" (the default)
outputopt
(optional) equation of the form output = X, where X is either "list" (the default) or "iterator"
Every finitely generated Abelian group is isomorphic to a direct sum of a free Abelian group (which is a direct sum of finitely many infinite cyclic groups), and a direct sum of finite cyclic groups.
The AbelianGroup( [ t1, t2, ... ] ) command returns a finite Abelian group isomorphic to a direct sum of cyclic groups of orders t1, t2, .... The resulting group is, by default, a finitely presented group, but a permutation group may be requested in this case.
The AbelianGroup( [ r, [ t1, t2, ... ] ] ) command returns a finitely generated Abelian group isomorphic to a direct sum of a free Abelian group of rank r and a direct sum of finite cyclic groups of orders t1, t2, .... If r > 0, then a finitely presented group is returned, since the group is infinite.
The AllAbelianGroups( n ) command returns an expression sequence of all the abelian groups of order n, where n is a positive integer. Since n is finite, either the 'form' = "fpgroup" or 'form' = "permgroup" options may be used.
The AbelianGroup and AllAbelianGroups commands accept an option of the form form = F, where F may be either of the strings "fpgroup" (the default), or "permgroup". The form = "permgroup" option may only be used in the case that the torsion-free rank r is equal to 0.
The AllAbelianGroups( n ) command accepts an option of the form output = "list", or output = "iterator". In the former, default case, a sequence of groups is returned. Using the output = "iterator" option causes AllAbelianGroups to return an iterator object that you can use to examine the abelian groups of order n one at a time. This is useful in cases for which there is a large number of abelian groups of order n.
with⁡GroupTheory:
G≔AbelianGroup⁡3,3
G≔⁢_a1,_a2⁢∣⁢_a13,_a23,_a2-1⁢_a1-1⁢_a2⁢_a1⁢
GroupOrder⁡G
9
IsAbelian⁡G
true
G≔AbelianGroup⁡3,3,form=permgroup
G≔1,2,3,4,5,6
G≔AbelianGroup⁡2,3,4
G≔⁢_a1,_a2,_a3,_a4⁢∣⁢_a13,_a24,_a2-1⁢_a1-1⁢_a2⁢_a1,_a3-1⁢_a1-1⁢_a3⁢_a1,_a3-1⁢_a2-1⁢_a3⁢_a2,_a4-1⁢_a1-1⁢_a4⁢_a1,_a4-1⁢_a2-1⁢_a4⁢_a2,_a4-1⁢_a3-1⁢_a4⁢_a3⁢
∞
G≔AbelianGroup⁡2,3,4,form=permgroup
Error, (in AbelianGroup) Abelian group must be finite to be represented as a permutation group
L≔AllAbelianGroups⁡100
L≔⁢_a1,_a2,_a3,_a4⁢∣⁢_a12,_a22,_a2-1⁢_a1-1⁢_a2⁢_a1,_a3-1⁢_a1-1⁢_a3⁢_a1,_a3-1⁢_a2-1⁢_a3⁢_a2,_a4-1⁢_a1-1⁢_a4⁢_a1,_a4-1⁢_a2-1⁢_a4⁢_a2,_a4-1⁢_a3-1⁢_a4⁢_a3,_a35,_a45⁢,⁢_a1,_a2,_a3⁢∣⁢_a12,_a22,_a2-1⁢_a1-1⁢_a2⁢_a1,_a3-1⁢_a1-1⁢_a3⁢_a1,_a3-1⁢_a2-1⁢_a3⁢_a2,_a325⁢,⁢_a1,_a2,_a3⁢∣⁢_a14,_a2-1⁢_a1-1⁢_a2⁢_a1,_a3-1⁢_a1-1⁢_a3⁢_a1,_a3-1⁢_a2-1⁢_a3⁢_a2,_a25,_a35⁢,⁢_a1,_a2⁢∣⁢_a14,_a2-1⁢_a1-1⁢_a2⁢_a1,_a225⁢
nops⁡L
4
NumAbelianGroups⁡100
it≔AllAbelianGroups⁡304,form=permgroup,output=iterator
it≔⟨Iterator for 125 Abelian Groups of Order 810000⟩
forGinitdoifExponent⁡SylowSubgroup⁡2,G=4thenprint⁡AbelianInvariants⁡Gendifenddo:
0,15,30,30,60
0,3,30,30,300
0,3,6,150,300
0,3,6,30,1500
0,3,6,6,7500
0,5,30,30,180
0,30,30,900
0,6,150,900
0,6,30,4500
0,6,6,22500
0,5,10,90,180
0,10,90,900
0,2,450,900
0,2,90,4500
0,2,18,22500
0,5,10,30,540
0,10,30,2700
0,2,150,2700
0,2,30,13500
0,2,6,67500
0,5,10,10,1620
0,10,10,8100
0,2,50,8100
0,2,10,40500
0,2,2,202500
0,15,15,60,60
0,3,15,60,300
0,3,3,300,300
0,3,3,60,1500
0,3,3,12,7500
0,5,15,60,180
0,15,60,900
0,3,300,900
0,3,60,4500
0,3,12,22500
0,5,5,180,180
0,5,180,900
0,900,900
0,180,4500
0,36,22500
0,5,5,60,540
0,5,60,2700
0,300,2700
0,60,13500
0,12,67500
0,5,5,20,1620
0,5,20,8100
0,100,8100
0,20,40500
0,4,202500
The GroupTheory[AbelianGroup] command was introduced in Maple 2016.
For more information on Maple 2016 changes, see Updates in Maple 2016.
The GroupTheory[AllAbelianGroups] command was introduced in Maple 2019.
For more information on Maple 2019 changes, see Updates in Maple 2019.
See Also
GroupTheory[CyclicGroup]
GroupTheory[GroupOrder]
GroupTheory[IsAbelian]
GroupTheory[NumAbelianGroups]
with
Download Help Document