# SageMath code for working with abstract group 1285608.a. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G = PSL(2,137) # Order of the group: G.order() # Exponent of the group: G.exponent() # Automorphism group: libgap(G).AutomorphismGroup() # Composition factors of the group: G.composition_series() # Nilpotency class of the group: libgap(G).NilpotencyClassOfGroup() if G.is_nilpotent() else -1 # Derived length of the group: libgap(G).DerivedLength() # Determine if the group G is abelian: G.is_abelian() # Determine if the group G is cyclic: G.is_cyclic() # Determine if the group G is elementary abelian: G.is_elementary_abelian() # Determine if the group G is nilpotent: G.is_nilpotent() # Determine if the group G is perfect: G.is_perfect() # Determine if the group G is a p-group: G.is_pgroup() # Determine if the group G is polycyclic: G.is_polycyclic() # Determine if the group G is simple: G.is_simple() # Determine if the group G is solvable: G.is_solvable() # Determine if the group G is supersolvable: G.is_supersolvable() # Compute statistics for the group G: # Sage code to output the first two rows of the group statistics table element_orders = [g.order() for g in G] orders = sorted(list(set(element_orders))) print("Orders:", orders) print("Elements:", [element_orders.count(n) for n in orders], G.order()) cc_orders = [cc[0].order() for cc in G.conjugacy_classes()] print("Conjugacy classes:", [cc_orders.count(n) for n in orders], len(cc_orders)) # List of conjugacy classes of the group: G.conjugacy_classes() # Output not guaranteed to exactly match the LMFDB table # Compute statistics about the characters of G: # Outputs [[d_1,c_1], [d_2,c_2], ...] where c_i is the number of irr. complex chars. of G with degree d_i character_degrees = [c[0] for c in G.character_table()] [[n, character_degrees.count(n)] for n in set(character_degrees)] # Define group as Lie representations: PSL(2,137) PSU(2,137) # Define the group as a permutation group: PermutationGroup(['(1,71,2)(3,86,124)(4,7,10)(5,132,24)(6,41,116)(8,36,111)(9,128,20)(11,28,66)(12,81,13)(14,88,84)(15,49,50)(16,125,104)(17,56,129)(18,109,70)(19,133,76)(21,101,126)(22,127,60)(23,96,135)(25,130,92)(26,51,131)(27,136,48)(29,69,100)(30,35,113)(31,89,105)(32,114,78)(33,55,42)(34,61,65)(37,45,98)(38,120,74)(39,117,122)(40,77,57)(43,134,82)(44,85,94)(46,90,80)(47,63,121)(52,83,123)(53,59,79)(54,107,115)(58,67,108)(62,106,72)(64,138,68)(73,93,99)(75,112,95)(87,91,118)(97,119,110)(102,103,137)', '(3,123,111,7,76,71,85,95,92,77,124,28,14,102,22,16,118,59,66,94,11,34,51,83,44,52,54,117,116,29,50,121,96,41,109,79,72,68,128,86,37,35,81,103,129,26,67,132,43,120,131,105,78,40,19,57,6,80,27,133,136,137,126,33,99,53,110,48)(4,5,8,114,61,135,84,122,101,63,36,10,21,98,9,74,115,12,38,60,106,104,55,13,73,69,62,32,100,45,20,91,112,25,24,87,89,97,58,90,107,130,47,75,82,23,125,119,39,127,113,17,64,49,46,56,70,65,134,30,18,138,93,31,88,42,108,15)']) # The abelianization of the group: G.quotient(G.commutator()) # The Schur multiplier of the group: G.homology(2) # List of subgroups of the group: G.subgroups() # Center of the group: G.center() # Commutator subgroup of the group G: G.commutator() # Frattini subgroup of the group G: G.frattini_subgroup() # Fitting subgroup of the group G: G.fitting_subgroup() # Socle of the group G: G.socle() # Derived series of the group G: G.derived_series() # Chief series of the group G: libgap(G).ChiefSeries() # The lower central series of the group G: G.lower_central_series() # The upper central series of the group G: G.upper_central_series() # Character table: G.character_table() # Output not guaranteed to exactly match the LMFDB table