// Magma code for working with abstract group 3888.ek. // Some of these functions may take a long time to execute (this depends on the group). // Construction of abstract group: G := PermutationGroup< 27 | (1,19,7,18,2,20,8,16,3,21,9,17)(4,5,6)(10,13,26,22,11,14,27,23,12,15,25,24), (1,27,23,9)(2,26,24,8)(3,25,22,7)(4,15,21,11)(5,14,19,10)(6,13,20,12)(16,17), (1,2)(4,15)(5,14)(6,13)(7,25)(8,27)(9,26)(10,20)(11,19)(12,21)(17,18)(22,24) >; // Order of the group: Order(G); // Exponent of the group: Exponent(G); // Automorphism group: AutomorphismGroup(G); // Composition factors of the group: CompositionFactors(G); // Nilpotency class of the group: NilpotencyClass(G); // 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 nilpotent: IsNilpotent(G); // Determine if the group G is perfect: IsPerfect(G); // Determine if the group G is simple: IsSimple(G); // Determine if the group G is solvable: IsSolvable(G); // Compute statistics for the group G: // Magma code to output the first two rows of the group statistics table element_orders := [Order(g) : g in G]; orders := Set(element_orders); printf "Orders: %o\n", orders; printf "Elements: %o %o\n", [#[x : x in element_orders | x eq n] : n in orders], Order(G); cc_orders := [cc[1] : cc in ConjugacyClasses(G)]; printf "Conjugacy classes: %o %o\n", [#[x : x in cc_orders | x eq n] : n in orders], #cc_orders; // 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 [, , ...] where c_i is the number of irr. complex chars. of G with degree d_i CharacterDegrees(G); // Define the group with the given generators and relations: GPC := PCGroup([9, -2, -2, -2, -2, -3, 3, 3, 3, -3, 53965, 46, 13934, 8768, 129315, 34140, 8589, 102, 1444, 6493, 14962, 28517, 84254, 1319, 9428, 4577, 172374, 82167, 45384, 3642, 17296, 62233, 31138, 13651, 209960, 26279]); a,b,c,d,e,f,g := Explode([GPC.1, GPC.2, GPC.4, GPC.6, GPC.7, GPC.8, GPC.9]); AssignNames(~GPC, ["a", "b", "b2", "c", "c2", "d", "e", "f", "g"]); // Define the group as a permutation group: PermutationGroup< 27 | (1,19,7,18,2,20,8,16,3,21,9,17)(4,5,6)(10,13,26,22,11,14,27,23,12,15,25,24), (1,27,23,9)(2,26,24,8)(3,25,22,7)(4,15,21,11)(5,14,19,10)(6,13,20,12)(16,17), (1,2)(4,15)(5,14)(6,13)(7,25)(8,27)(9,26)(10,20)(11,19)(12,21)(17,18)(22,24) >; // Define the group from the transitive group database: TransitiveGroup(27, 541); // The primary decomposition of the group: PrimaryInvariants(G); // The abelianization of the group: quo< G | CommutatorSubgroup(G) >; // List of subgroups of the group: Subgroups(G); // Center of the group: Center(G); // Commutator subgroup of the group G: CommutatorSubgroup(G); // Frattini subgroup of the group G: FrattiniSubgroup(G); // Fitting subgroup of the group G: FittingSubgroup(G); // Radical of the group G: Radical(G); // Socle of the group G: Socle(G); // Derived series of the group G: DerivedSeries(G); // Chief series of the group G: ChiefSeries(G); // The lower central series of the group G: LowerCentralSeries(G); // The upper central series of the group G: UpperCentralSeries(G); // Character table: CharacterTable(G); // Output not guaranteed to exactly match the LMFDB table