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.4/(2)^1(8)^2/min.185"); 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 ] ] ], size := 4 ) gap> P1 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.4/(2)^1(8)^2/words.min.185"]); gap> Append(GROUPS,[P1]); gap> R := CaratReadBravaisFile("ordnung.4/(2)^1(8)^2/min.186"); 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 ] ] ], size := 4 ) gap> P2 := Group(R.generators); <matrix group with 2 generators> gap> Append(names,["ordnung.4/(2)^1(8)^2/words.min.186"]); gap> Append(GROUPS,[P2]); gap> R := CaratReadBravaisFile("ordnung.8/(2)^1(8)^2/group.1055"); 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 ] ] , [ [ -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 ] ] ], size := 8 ) gap> P3 := Group(R.generators); <matrix group with 3 generators> gap> Append(names,["ordnung.8/(2)^1(8)^2/words.group.1055"]); gap> Append(GROUPS,[P3]); gap> Print(GROUPS,"\n"); [ 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 ] ] ]), 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 ] ] ]), 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 ] ] , [ [ -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 ] ] ]) ] gap> Print(names,"\n"); [ "ordnung.4/(2)^1(8)^2/words.min.185", "ordnung.4/(2)^1(8)^2/words.min.186", "ordnung.8/(2)^1(8)^2/words.group.1055" ] gap> Size(GROUPS); 3 gap> Size(names); 3 gap> Read("../../TGROUPS.GAP"); gap> for i in [1..Size(GROUPS)] do > SubgroupWords(GROUPS[i], names[i]); > od; [ x1*x2 ] [ x1 ] [ x2 ] [ x2 ] [ x1 ] [ x1*x2 ] [ x1*x2*x3, x2 ] [ x1*x2*x3, x1 ] [ x1*x2*x3, x1*x2 ] [ x2, x1 ] [ x2*x3, x2 ] [ x1*x3, x1 ] [ x2*x3, x1*x2 ] gap> LogTo();