# Gap code for working with abstract group 6552.b. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G := Group( (1,2,5)(3,8,9)(4,11,23)(10,20,36)(12,25,42)(13,18,32)(14,28,30)(15,17,26)(16,24,41)(19,33,22)(21,38,37)(27,39,44)(29,45,54)(31,46,43)(40,52,47)(48,53,49)(57,58,59), (1,3,9,18,32,26,5,13,2,6,15,8,17)(4,12,25,20,37,42,38,50,36,23,10,21,11)(14,29,33,28,19,34,45,52,54,22,40,47,30)(16,27,24,31,44,39,49,48,41,43,53,46,55), (1,4,2,7,16,30,41,5,14,28,23,11,24)(3,10,22,9,19,35,36,49,20,33,48,53,8)(12,26,43,25,42,52,40,17,31,47,46,56,15)(13,27,44,54,21,39,38,51,45,18,29,37,32) ); # Order of the group: Order(G); # Exponent of the group: Exponent(G); # Automorphism group: AutomorphismGroup(G); # The outer automorphism group of G: FactorGroup(AutomorphismGroup(G), InnerAutomorphismGroup(G)); # Composition factors of the group: CompositionSeries(G); # Nilpotency class of the group: if IsNilpotentGroup(G) then NilpotencyClassOfGroup(G); fi; # Derived length of the group: DerivedLength(G); # Determine if the group G is abelian: IsAbelian(G); # Determine if the group G is cyclic: IsCyclic(G); # Determine if the group G is elementary abelian: IsElementaryAbelian(G); # Determine if the group G is a monomial group: IsMonomialGroup(G); # Determine if the group G is nilpotent: IsNilpotentGroup(G); # Determine if the group G is perfect: IsPerfectGroup(G); # Determine if the group G is a p-group: IsPGroup(G); # Determine if the group G is polycyclic: IsPolycyclicGroup(G); # Determine if the group G is simple: IsSimpleGroup(G); # Determine if the group G is solvable: IsSolvableGroup(G); # Determine if the group G is supersolvable: IsSupersolvableGroup(G); # Compute statistics for the group G: # Gap code to output the first two rows of the group statistics table element_orders := List(Elements(G), g -> Order(g)); orders := Set(element_orders); Print("Orders: ", orders, "\n"); element_counts := List(orders, n -> Length(Filtered(element_orders, x -> x = n))); Print("Elements: ", element_counts, " ", Size(G), "\n"); cc_orders := List(ConjugacyClasses(G), cc -> Order(Representative(cc))); cc_counts := List(orders, n -> Length(Filtered(cc_orders, x -> x = n))); Print("Conjugacy classes: ", cc_counts, " ", Length(ConjugacyClasses(G)), "\n"); # List of conjugacy classes of the group: ConjugacyClasses(G); # Output not guaranteed to exactly match the LMFDB table # Compute statistics about the characters of G: # Outputs [[d_1,c_1], [d_2,c_2], ...] where c_i is the number of irr. complex chars. of G with degree d_i CharacterDegrees(G); # Define the group as a permutation group: Group( (1,2,5)(3,8,9)(4,11,23)(10,20,36)(12,25,42)(13,18,32)(14,28,30)(15,17,26)(16,24,41)(19,33,22)(21,38,37)(27,39,44)(29,45,54)(31,46,43)(40,52,47)(48,53,49)(57,58,59), (1,3,9,18,32,26,5,13,2,6,15,8,17)(4,12,25,20,37,42,38,50,36,23,10,21,11)(14,29,33,28,19,34,45,52,54,22,40,47,30)(16,27,24,31,44,39,49,48,41,43,53,46,55), (1,4,2,7,16,30,41,5,14,28,23,11,24)(3,10,22,9,19,35,36,49,20,33,48,53,8)(12,26,43,25,42,52,40,17,31,47,46,56,15)(13,27,44,54,21,39,38,51,45,18,29,37,32) ); # Define the group as a matrix group with coefficients in GLFp: Group([[[ Z(13)^0, Z(13)^0 ], [ 0*Z(13), Z(13)^0 ]], [[ Z(13)^0, 0*Z(13) ], [ 0*Z(13), Z(13)^4 ]], [[ Z(13)^0, 0*Z(13) ], [ Z(13)^0, Z(13)^0 ]]]); # The primary decomposition of the group: AbelianInvariants(G); # The abelianization of the group: FactorGroup(G, DerivedSubgroup(G)); # The Schur multiplier of the group: AbelianInvariantsMultiplier(G); # The commutator length of the group: CommutatorLength(G); # List of subgroups of the group: AllSubgroups(G); # Center of the group: Center(G); # Commutator subgroup of the group G: DerivedSubgroup(G); # Frattini subgroup of the group G: FrattiniSubgroup(G); # Fitting subgroup of the group G: FittingSubgroup(G); # Radical of the group G: SolvableRadical(G); # Socle of the group G: Socle(G); # Derived series of the group G: DerivedSeriesOfGroup(G); # Chief series of the group G: ChiefSeries(G); # The lower central series of the group G: LowerCentralSeriesOfGroup(G); # The upper central series of the group G: UpperCentralSeriesOfGroup(G); # Character table: CharacterTable(G); # Output not guaranteed to exactly match the LMFDB table