// Magma code for working with abstract group 20100.b. // Some of these functions may take a long time to execute (this depends on the group). // Define group as a dicyclic group: G := DicyclicGroup(5025); // 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([6, -2, -2, -5, -5, -3, -67, 12, 31, 104, 600004, 118, 712805]); a,b := Explode([GPC.1, GPC.5]); AssignNames(~GPC, ["a", "a2", "a4", "a20", "b", "b3"]); // Define the group as a permutation group: PermutationGroup< 99 | (1,2,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,66,64,62,60,58,56,54,52,50,48,46,44,42,40,38,36,34,32,30,28,26,24,22,20,18,16,14,12,10,8,6,4)(68,69)(70,71)(72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96)(97,98,99), (2,4)(3,6)(5,8)(7,10)(9,12)(11,14)(13,16)(15,18)(17,20)(19,22)(21,24)(23,26)(25,28)(27,30)(29,32)(31,34)(33,36)(35,38)(37,40)(39,42)(41,44)(43,46)(45,48)(47,50)(49,52)(51,54)(53,56)(55,58)(57,60)(59,62)(61,64)(63,66)(65,67)(68,70,69,71)(72,74,76,78,80,82,84,86,88,90,92,94,96,73,75,77,79,81,83,85,87,89,91,93,95)(98,99) >; // Define the group as a matrix group with coefficients in GLFp: MatrixGroup< 2, GF(401) | [[71, 88, 163, 71], [340, 166, 212, 61]] >; // 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