# Oscar code for working with abstract group 432.520. # If you have not already loaded the Oscar package, you should type "using Oscar;" before running the code below. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G = small_group(432, 520) # Order of the group: order(G) # Exponent of the group: exponent(G) # Automorphism group: automorphism_group(G) # Composition factors of the group: composition_series(G) # Nilpotency class of the group: if is_nilpotent(G) nilpotency_class(G) end # Derived length of the group: derived_length(G) # Determine if the group G is abelian: is_abelian(G) # Determine if the group G is cyclic: is_cyclic(G) # Determine if the group G is elementary abelian: is_elementary_abelian(G) # Determine if the group G is nilpotent: is_nilpotent(G) # Determine if the group G is perfect: is_perfect(G) # Determine if the group G is a p-group: is_pgroup(G) # Determine if the group G is simple: is_simple(G) # Determine if the group G is solvable: is_solvable(G) # Determine if the group G is supersolvable: is_supersolvable(G) # Compute statistics for the group G: # Oscar code to output the first two rows of the group statistics table element_orders = [order(g) for g in elements(G)] orders = sort(unique(element_orders)) println("Orders: ", orders) element_counts = [count(==(n), element_orders) for n in orders] println("Elements: ", element_counts, " ", order(G)) ccs = conjugacy_classes(G) cc_orders = [order(representative(cc)) for cc in ccs] cc_counts = [count(==(n), cc_orders) for n in orders] println("Conjugacy classes: ", cc_counts, " ", length(ccs)) # List of conjugacy classes of the group: conjugacy_classes(G) # Output not guaranteed to exactly match the LMFDB table # Compute statistics about the characters of G: # Outputs an MSet containing the absolutely irreducible degrees of G and their multiplicities. character_degrees(G) # Define the group as a permutation group: @permutation_group(27, (2,3)(4,16,26,21,8,23,14,10)(5,18,27,20,9,22,15,12)(6,17,25,19,7,24,13,11), (2,3)(4,7)(5,9)(6,8)(10,17)(11,16)(12,18)(13,14)(19,23)(20,22)(21,24)(25,26), (4,26,8,14)(5,27,9,15)(6,25,7,13)(10,16,21,23)(11,17,19,24)(12,18,20,22), (4,8)(5,9)(6,7)(10,21)(11,19)(12,20)(13,25)(14,26)(15,27)(16,23)(17,24)(18,22), (1,19,10)(2,20,11)(3,21,12)(4,22,13)(5,23,14)(6,24,15)(7,25,16)(8,26,17)(9,27,18), (1,7,4)(2,8,5)(3,9,6)(10,18,14)(11,16,15)(12,17,13)(19,26,24)(20,27,22)(21,25,23), (1,3,2)(4,6,5)(7,9,8)(10,12,11)(13,15,14)(16,18,17)(19,21,20)(22,24,23)(25,27,26)) # Define the group as a matrix group with coefficients in Z: matrix_group([matrix(ZZ, [[-1, 0, 0, 0, 0, 0], [0, -1, 0, 0, 0, 0], [-1, 1, 1, 0, 0, 0], [0, 0, -1, -1, -1, 0], [1, -1, 0, 0, 1, 0], [-1, 0, 0, 0, 0, 1]]), matrix(ZZ, [[0, -1, 0, 0, 0, 0], [0, -1, 0, -1, 0, 0], [0, 0, 0, 1, 1, 0], [0, 0, -1, 0, -1, 1], [1, 0, 1, 0, 1, -1], [1, -1, 0, 0, 1, -1]])]) # Define the group as a matrix group with coefficients in GLFp: matrix_group([matrix(GF(3), [[1, 0, 2, 1], [2, 0, 1, 0], [2, 2, 2, 2], [1, 0, 1, 1]]), matrix(GF(3), [[1, 1, 0, 2], [0, 1, 0, 0], [0, 0, 2, 0], [0, 2, 0, 2]]), matrix(GF(3), [[2, 2, 2, 0], [2, 1, 0, 2], [2, 2, 0, 1], [2, 1, 1, 1]]), matrix(GF(3), [[2, 0, 2, 0], [2, 1, 0, 2], [1, 0, 0, 0], [2, 0, 1, 1]]), matrix(GF(3), [[1, 2, 0, 0], [2, 1, 2, 1], [0, 1, 2, 1], [0, 1, 0, 1]]), matrix(GF(3), [[2, 0, 2, 0], [0, 2, 0, 0], [1, 0, 1, 1], [2, 0, 1, 1]]), matrix(GF(3), [[2, 0, 0, 1], [0, 1, 0, 0], [1, 0, 1, 1], [2, 0, 0, 0]])]) # Define the group from the transitive group database: transitive_group(27, 141) transitive_group(36, 704) # The primary decomposition of the group: abelian_invariants(G) # The abelianization of the group: quo(G, derived_subgroup(G)[1]) # List of subgroups of the group: subgroups(G) # Center of the group: center(G) # Commutator subgroup of the group G: derived_subgroup(G) # Frattini subgroup of the group G: frattini_subgroup(G) # Fitting subgroup of the group G: fitting_subgroup(G) # Radical of the group G: solvable_radical(G) # Socle of the group G: socle(G) # Derived series of the group G: derived_series(G) # Chief series of the group G: chief_series(G) # The lower central series of the group G: lower_central_series(G) # The upper central series of the group G: upper_central_series(G) # Character table: character_table(G) # Output not guaranteed to exactly match the LMFDB table