// Magma code for working with abstract group 504.156. // Some of these functions may take a long time to execute (this depends on the group). // Construction of abstract group: G := SL(2,8); // 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 group as Lie representations: SL(2,8); PSL(2,8); PGL(2,8); SO(3,8); SU(2,8); PSO(3,8); PSU(2,8); GO(3,8); Omega(3,8); PGO(3,8); PGU(2,8); POmega(3,8); CSO(3,8); CSU(2,8); // Define the group as a permutation group: PermutationGroup< 9 | (1,2,8,9,7,5,3), (1,9,8,6,5,4,2) >; // Define the group as a matrix group with coefficients in GLFq: F:=GF(8); al:=F.1; MatrixGroup< 2, F | [[1, al^1], [al^6, 0]],[[1, 1], [1, 0]] >; // Define the group from the transitive group database: TransitiveGroup(9, 27); TransitiveGroup(28, 70); TransitiveGroup(36, 712); // 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