# SageMath code for working with abstract group 2717908992.l. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G = PermutationGroup(['(1,27,15,21,2,28,16,22)(3,25,7,32,4,26,8,31)(5,33,6,34)(9,29,14,35,10,30,13,36)(11,20)(12,19)(17,24)(18,23)', '(1,22,10,27)(2,21,9,28)(3,30,5,36)(4,29,6,35)(7,32,17,25,8,31,18,26)(11,33)(12,34)(13,23,14,24)(15,20)(16,19)', '(1,32,6,19,11,24,4,30,10,22,14,27,2,31,5,20,12,23,3,29,9,21,13,28)(7,35,16,25,17,33)(8,36,15,26,18,34)']) # 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(66340334841410460419283549955900856378164807995281071939873311375423692859608787961950071510502875735131584318245679087590071501986203941214725877417074811246332456606072491500462097934573411708302090169065091693004036690095948534103204500749562624504664401761056758346263905035017538765694668754604896773749795110251097427915622194027214290169485411264830835183094683065229493088015107748916241335995819644786476298951837488998898090159240412605240098650646223170625467886705414704131261445936084026354643779958168403403192977034483808828730609492457678545471299795240101825189064951839381001417237366792554056893082875536580902302751484187610403146799034943121893248814317469799185787663636312539436633221012058644375147540414602380268472799777563870210012656541397156764541250126376180346868756827869690691743437337850616146387185522978547774749536342794311912047203102649700453206300609205361021133922945338580727207569817048153709269350372841231918159821816510631276371241002115544870151171713655136058763908498116694158773537393383586154124838300818956394564196770396042220872779487235394590060753586368045453344294668226164062932523393268085550745164177934248759743454680537027272856252828168033555765089005156563788756856866655362266657517931270855596007401269417839307481553792017303777184508772966784817399585172414806259827330525961855529310651255605337169273943021287618501193631114455014235782579836268620240109260606911923972343948904563043465031293383820705754966896178484783702139713506146514202080077648150044707100104035998225540969042622719114691682782118030481997367638020770699449265327111699207207337940806810659468180267609830082401198538855274965847725160079900513412073658834663347176680622113546620791648513878414066494238359042106722482347426299243728233801610550440435034243733602370685677510407298368680444108284599393576025626785144094108486707934007900671925077790918937065577932912770908679508195634156628964900631136193674404719062455870847938743993077636940720663052648076439634362931263127363194814261667716349101091877407503190561708688130462294510658308170978294876049605319945015301872335311640626817273764831271773942133730115185716513121196884561035836419815349703804137567239761237092411407966991452741352072866206413046177768544833983343406939025629058516774565919697336345358991310765526044901195585014075038964763027703486438518793480951187400321117909501894050339366754665588668486940564674683415621489023408795592613131260833387129212924543094610263343707820178349766477796930493240449389663144748202794174740325161748213518154204050975244678347463308101999962611759853728916916352617564706432105941115026301171905661154160074643638566890742035660990074972426677856413646315432757712738938761409419949123565964503995247171189526402855247791389574642349080255214955489572930314022009062215523084737644649958016135432007857953382118406619965061766522023092932057333283277271856764471738577783701504,2717908992)'); a = GPC.1; b = GPC.3; c = GPC.4; d = GPC.5; e = GPC.7; f = GPC.10; g = GPC.12; h = GPC.14; i = GPC.16; j = GPC.17; k = GPC.18; l = GPC.19; m = GPC.20; n = GPC.21; o = GPC.22; p = GPC.23; q = GPC.24; r = GPC.25; s = GPC.26; t = GPC.27; u = GPC.28; v = GPC.29; # Define the group as a permutation group: PermutationGroup(['(1,27,15,21,2,28,16,22)(3,25,7,32,4,26,8,31)(5,33,6,34)(9,29,14,35,10,30,13,36)(11,20)(12,19)(17,24)(18,23)', '(1,22,10,27)(2,21,9,28)(3,30,5,36)(4,29,6,35)(7,32,17,25,8,31,18,26)(11,33)(12,34)(13,23,14,24)(15,20)(16,19)', '(1,32,6,19,11,24,4,30,10,22,14,27,2,31,5,20,12,23,3,29,9,21,13,28)(7,35,16,25,17,33)(8,36,15,26,18,34)']) # Define the group from the transitive group database: TransitiveGroup(36, 99464) # 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