def givequotients(i,j):
mygroup = gap.SmallGroup(i,j)
mysubgps = gap.NormalSubgroups(mygroup)
for k in range (1,len(mysubgps) + 1):
myquotient = gap.FactorGroup(mygroup,mysubgps[k])
print gap.StructureDescription(myquotient)
def findgroups(lower,upper):
for i in range(lower,upper + 1):
numbergroups = gap.NumberSmallGroups(i)
for j in range(1,numbergroups + 1):
mygroup = gap.SmallGroup(i,j)
quotientFlag=True
if not gap.IsAbelian(mygroup):
mysubgps = gap.NormalSubgroups(mygroup)
for k in range(2,len(mysubgps)):
myquotient = gap.FactorGroup(mygroup,mysubgps[k])
if not gap.IsAbelian(myquotient):
quotientFlag = False
break
if quotientFlag == true:
print gap.StructureDescription(mygroup) , " - GAP Group ID:" , (i,j)
findgroups(1,10)
C4 x C4
S3 - GAP Group ID: (6, 1)
D8 - GAP Group ID: (8, 3)
Q8 - GAP Group ID: (8, 4)
D10 - GAP Group ID: (10, 1)