GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
gap> RequirePackage("carat"); true gap> names := []; [ ] gap> GROUPS := []; [ ] gap> R := CaratReadBravaisFile("ordnung.12/(2)^3(6)^1/min.294"); rec( generators := [ [ [ 1, -1, 0, 0, 0, 0 ], [ 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, -1, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 12 ) gap> P1 := Group(R.generators); <matrix group with 1 generators> gap> Append(names,["ordnung.12/(2)^3(6)^1/words.min.294"]); gap> Append(GROUPS,[P1]); gap> R := CaratReadBravaisFile("ordnung.12/(2)^3(6)^1/min.295"); rec( generators := [ [ [ -1, 1, 0, 0, 0, 0 ], [ -1, 0, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 12 ) gap> P2 := Group(R.generators); <matrix group with 1 generators> gap> Append(names,["ordnung.12/(2)^3(6)^1/words.min.295"]); gap> Append(GROUPS,[P2]); gap> R := CaratReadBravaisFile("ordnung.24/(2)^3(6)^1/group.1618"); rec( generators := [ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 24 ) gap> P3 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.24/(2)^3(6)^1/words.group.1618"]); gap> Append(GROUPS,[P3]); gap> R := CaratReadBravaisFile("ordnung.24/(2)^5(6)^1/group.1619"); rec( generators := [ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ], [ [ 0, 1, 0, 0, 0, 0 ], [ -1, 1, 0, 0, 0, 0 ], [ 0, 0, 1, -1, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ] ], size := 24 ) gap> P4 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.24/(2)^5(6)^1/words.group.1619"]); gap> Append(GROUPS,[P4]); gap> R := CaratReadBravaisFile("ordnung.24/(2)^5(6)^1/group.1620"); rec( generators := [ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 24 ) gap> P5 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.24/(2)^5(6)^1/words.group.1620"]); gap> Append(GROUPS,[P5]); gap> R := CaratReadBravaisFile("ordnung.24/(2)^5(6)^1/group.1621"); rec( generators := [ [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 24 ) gap> P6 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.24/(2)^5(6)^1/words.group.1621"]); gap> Append(GROUPS,[P6]); gap> R := CaratReadBravaisFile("ordnung.48/(2)^5(6)^1/group.1622"); rec( generators := [ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ], [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ], size := 48 ) gap> P7 := Group(R.generators); <matrix group with 3 generators> gap> Append(names,["ordnung.48/(2)^5(6)^1/words.group.1622"]); gap> Append(GROUPS,[P7]); gap> Print(GROUPS,"\n"); [ Group( [ [ [ 1, -1, 0, 0, 0, 0 ], [ 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, -1, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]), Group([ [ [ -1, 1, 0, 0, 0, 0 ], [ -1, 0, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]), Group([ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, -1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]), Group([ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ], [ [ 0, 1, 0, 0, 0, 0 ], [ -1, 1, 0, 0, 0, 0 ], [ 0, 0, 1, -1, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ] ]), Group([ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]), Group([ [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]), Group([ [ [ -1, 0, 0, 0, 0, 0 ], [ 0, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, -1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ], [ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, -1 ] ], [ [ 0, -1, 0, 0, 0, 0 ], [ 1, -1, 0, 0, 0, 0 ], [ 0, 0, -1, 1, 0, 0 ], [ 0, 0, -1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 1, 0 ] ] ]) ] gap> Print(names,"\n"); [ "ordnung.12/(2)^3(6)^1/words.min.294", "ordnung.12/(2)^3(6)^1/words.min.295" , "ordnung.24/(2)^3(6)^1/words.group.1618", "ordnung.24/(2)^5(6)^1/words.group.1619", "ordnung.24/(2)^5(6)^1/words.group.1620", "ordnung.24/(2)^5(6)^1/words.group.1621", "ordnung.48/(2)^5(6)^1/words.group.1622" ] gap> Size(GROUPS); 7 gap> Size(names); 7 gap> Read("../../TGROUPS.GAP"); gap> for i in [1..Size(GROUPS)] do > SubgroupWords(GROUPS[i], names[i]); > od; [ x1^6, x1^3 ] [ x1^4, x1^6 ] [ x1^6, x1^9 ] [ x1^4, x1^6 ] [ x2^3, x2^4, x2^6 ] [ x1, x2^4, x2^6 ] [ x1*x2^3, x2^4, x2^6 ] [ x2^3, x1, x2^6 ] [ x2^3, x2^2, x1*x2*x1*x2^5 ] [ x1, x2^2, x1*x2*x1*x2^5 ] [ x2*x1*x2^2, x2^2, x1*x2*x1*x2^5 ] [ x2^3, x1, x1*x2*x1*x2^5 ] [ x2^3, x2^2, x1*x2*x1*x2^5 ] [ x1, x2^2, x1*x2*x1*x2^5 ] [ x2*x1*x2^2, x2^2, x1*x2*x1*x2^5 ] [ x2^3, x1, x1*x2*x1*x2^5 ] [ x2^3, x2^2, x1*x2*x1*x2^5 ] [ x1, x2^2, x1*x2*x1*x2^5 ] [ x2*x1*x2^2, x2^2, x1*x2*x1*x2^5 ] [ x2^3, x1, x1*x2*x1*x2^5 ] [ x3^3, x1, x3^2, x2*x3*x2*x3^5 ] [ x3^3, x2, x3^2, x2*x3*x2*x3^5 ] [ x3^3, x1*x2, x3^2, x2*x3*x2*x3^5 ] [ x1, x2, x3^2, x2*x3*x2*x3^5 ] [ x3*x2*x3^2, x1, x3^2, x2*x3*x2*x3^5 ] [ x1*x3^3, x2, x3^2, x2*x3*x2*x3^5 ] [ x3*x2*x3^2, x1*x2, x3^2, x2*x3*x2*x3^5 ] [ x3^3, x1, x2, x2*x3*x2*x3^5 ] gap> LogTo();