# Oscar code for working with abstract group 699840.c. # 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 = @permutation_group(54, (1,4,30,27,11,3,13,10)(2,19,29,54,14,53,8,52)(5,50)(7,44)(9,43,24,46,36,41,25,42)(12,39,16,37,28,49,17,18)(15,51,32,40,31,34,33,38)(20,23,48,47,22,35,45,21), (1,54,37,24,35,33,10,41,51,36,45,17,3,53,39,8,47,12)(2,48,31,13,52,18,7,23,15,26,19,49,14,21,5,30,43,34)(4,44,50,25,6,28,27,42,38,29,22,16,11,46,40,9,20,32), (1,38,17,3,50,5)(2,20,52,29,21,41)(4,49,33,30,37,31)(6,44,36,23,42,8)(7,47,43,25,45,53)(9,22,54,14,48,19)(10,40,16)(11,18,15,13,51,12)(24,35,46)(26,39,32,27,34,28)) # 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(54, (1,4,30,27,11,3,13,10)(2,19,29,54,14,53,8,52)(5,50)(7,44)(9,43,24,46,36,41,25,42)(12,39,16,37,28,49,17,18)(15,51,32,40,31,34,33,38)(20,23,48,47,22,35,45,21), (1,54,37,24,35,33,10,41,51,36,45,17,3,53,39,8,47,12)(2,48,31,13,52,18,7,23,15,26,19,49,14,21,5,30,43,34)(4,44,50,25,6,28,27,42,38,29,22,16,11,46,40,9,20,32), (1,38,17,3,50,5)(2,20,52,29,21,41)(4,49,33,30,37,31)(6,44,36,23,42,8)(7,47,43,25,45,53)(9,22,54,14,48,19)(10,40,16)(11,18,15,13,51,12)(24,35,46)(26,39,32,27,34,28)) # 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