# SageMath code for working with abstract group 459165024.bp. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G = PermutationGroup(['(1,35,25,11,15,23,3,36,27,12,13,24,2,34,26,10,14,22)(4,17,29,6,18,28)(5,16,30)(7,20,9,21,8,19)(32,33)', '(1,13,3,15,2,14)(4,23,31,6,22,32)(5,24,33)(7,28,35,20,16,10,9,29,36,21,18,12,8,30,34,19,17,11)(25,26)']) # 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 the group with the given generators and relations: # This uses Sage's interface to GAP, as Sage (currently) has no native support for PC groups GPC = gap.new('PcGroupCode(4087905842685172155450196327349719482960485659810804211948422436259027673077689003824883351038933186735991884828321171342696851923455450391151334664712059971222634839999442385103130167261448956640495499932900198999979004286854793990042058462113226033844390283096037669774303691844288995549778634301225732861023474322717168879832523431854895340908842551504297158819099889942673295009247361306662852854408154617245099272151620772295500104130468386935024404046648102513976339667249726090362621995704494052614021679975781868294528940886946734512361922521318583090572040227508629727681819302571280799941342703483185346655849081370519014493501232598885603598766992040138082432263661770403645188446989226136724486396794226477243913650898380130861508301820203683300249305736005063581145157145262590135883911705689190655715968208737695833573368362768552302511302015511381802575161305029275759485484064482157668188452894142807257590724455842411969155765994144784679003905315807723717040543847483868143183754010131986261094694660007979816720550952565551223590712635046346393362495086874220392445318256742832305493991052198929176158937914723393394000767381939741917657870114275880018393390261872653208232106530717351964457644002429341944230076401929944560768013702258342021058636000264493113343,459165024)'); a = GPC.1; b = GPC.2; c = GPC.4; d = GPC.6; e = GPC.9; f = GPC.10; g = GPC.11; h = GPC.12; i = GPC.13; j = GPC.14; k = GPC.16; l = GPC.17; m = GPC.18; n = GPC.19; o = GPC.20; # Define the group as a permutation group: PermutationGroup(['(1,35,25,11,15,23,3,36,27,12,13,24,2,34,26,10,14,22)(4,17,29,6,18,28)(5,16,30)(7,20,9,21,8,19)(32,33)', '(1,13,3,15,2,14)(4,23,31,6,22,32)(5,24,33)(7,28,35,20,16,10,9,29,36,21,18,12,8,30,34,19,17,11)(25,26)']) # Define the group from the transitive group database: TransitiveGroup(36, 88067) # 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