# Oscar code for working with abstract group 500.5. # 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(500, 5) # 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(129, (1,2), (3,4), (5,129,104,79,54,29,124,99,74,49,24,119,94,69,44,19,114,89,64,39,14,109,84,59,34,9,128,103,78,53,28,123,98,73,48,23,118,93,68,43,18,113,88,63,38,13,108,83,58,33,8,127,102,77,52,27,122,97,72,47,22,117,92,67,42,17,112,87,62,37,12,107,82,57,32,7,126,101,76,51,26,121,96,71,46,21,116,91,66,41,16,111,86,61,36,11,106,81,56,31,6,125,100,75,50,25,120,95,70,45,20,115,90,65,40,15,110,85,60,35,10,105,80,55,30), (5,29,24,19,14,9,28,23,18,13,8,27,22,17,12,7,26,21,16,11,6,25,20,15,10)(30,54,49,44,39,34,53,48,43,38,33,52,47,42,37,32,51,46,41,36,31,50,45,40,35)(55,79,74,69,64,59,78,73,68,63,58,77,72,67,62,57,76,71,66,61,56,75,70,65,60)(80,104,99,94,89,84,103,98,93,88,83,102,97,92,87,82,101,96,91,86,81,100,95,90,85)(105,129,124,119,114,109,128,123,118,113,108,127,122,117,112,107,126,121,116,111,106,125,120,115,110), (5,9,8,7,6)(10,14,13,12,11)(15,19,18,17,16)(20,24,23,22,21)(25,29,28,27,26)(30,34,33,32,31)(35,39,38,37,36)(40,44,43,42,41)(45,49,48,47,46)(50,54,53,52,51)(55,59,58,57,56)(60,64,63,62,61)(65,69,68,67,66)(70,74,73,72,71)(75,79,78,77,76)(80,84,83,82,81)(85,89,88,87,86)(90,94,93,92,91)(95,99,98,97,96)(100,104,103,102,101)(105,109,108,107,106)(110,114,113,112,111)(115,119,118,117,116)(120,124,123,122,121)(125,129,128,127,126)) # Define the group as a matrix group with coefficients in GLFp: matrix_group([matrix(GF(251), [[137, 0], [0, 66]]), matrix(GF(251), [[250, 0], [0, 250]])]) # 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