# Gap code for working with abstract group 498000.a. # Some of these functions may take a long time to execute (this depends on the group). # Construction of abstract group: G := Group( (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83)(84,85,86,87,89,91,88,90)(92,93,95,97,99,101,103,105,107,124,147,152,155,157,159,161,163,165,167,171,170,191,196,199,201,203,205,207,209,210,208,206,204,202,200,197,198,195,172,168,166,164,162,160,158,156,153,154,151,126,123,121,119,117,115,113,111,109,110,112,114,116,118,120,122,125,133,129,127,131,135,137,139,141,143,145,149,148,169,174,177,179,181,183,185,187,189,193,192,211,213,216,214,215,212,194,190,188,186,184,182,180,178,175,176,173,150,146,144,142,140,138,136,132,128,130,134,108,106,104,102,100,98,96,94)(217,218,219), (85,87)(86,88)(90,91)(93,94)(95,96)(97,98)(99,100)(101,102)(103,104)(105,106)(107,108)(109,127)(110,129)(111,131)(112,133)(113,135)(114,125)(115,137)(116,122)(117,139)(118,120)(119,141)(121,143)(123,145)(124,134)(126,149)(128,152)(130,147)(132,155)(136,157)(138,159)(140,161)(142,163)(144,165)(146,167)(148,151)(150,171)(153,174)(154,169)(156,177)(158,179)(160,181)(162,183)(164,185)(166,187)(168,189)(170,173)(172,193)(175,196)(176,191)(178,199)(180,201)(182,203)(184,205)(186,207)(188,209)(190,210)(192,195)(194,208)(197,213)(198,211)(200,216)(202,214)(204,215)(206,212) ); # Order of the group: Order(G); # Exponent of the group: Exponent(G); # Automorphism group: AutomorphismGroup(G); # The outer automorphism group of G: FactorGroup(AutomorphismGroup(G), InnerAutomorphismGroup(G)); # Composition factors of the group: CompositionSeries(G); # Nilpotency class of the group: if IsNilpotentGroup(G) then NilpotencyClassOfGroup(G); fi; # Derived length of the group: DerivedLength(G); # Determine if the group G is abelian: IsAbelian(G); # Determine if the group G is cyclic: IsCyclic(G); # Determine if the group G is elementary abelian: IsElementaryAbelian(G); # Determine if the group G is a monomial group: IsMonomialGroup(G); # Determine if the group G is nilpotent: IsNilpotentGroup(G); # Determine if the group G is perfect: IsPerfectGroup(G); # Determine if the group G is a p-group: IsPGroup(G); # Determine if the group G is polycyclic: IsPolycyclicGroup(G); # Determine if the group G is simple: IsSimpleGroup(G); # Determine if the group G is solvable: IsSolvableGroup(G); # Determine if the group G is supersolvable: IsSupersolvableGroup(G); # Compute statistics for the group G: # Gap code to output the first two rows of the group statistics table element_orders := List(Elements(G), g -> Order(g)); orders := Set(element_orders); Print("Orders: ", orders, "\n"); element_counts := List(orders, n -> Length(Filtered(element_orders, x -> x = n))); Print("Elements: ", element_counts, " ", Size(G), "\n"); cc_orders := List(ConjugacyClasses(G), cc -> Order(Representative(cc))); cc_counts := List(orders, n -> Length(Filtered(cc_orders, x -> x = n))); Print("Conjugacy classes: ", cc_counts, " ", Length(ConjugacyClasses(G)), "\n"); # List of conjugacy classes of the group: ConjugacyClasses(G); # 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 CharacterDegrees(G); # Define the group with the given generators and relations: GPC := PcGroupCode(2058369659322288639891289340025748011726327651723498302114540073455150195789258215504410954177634949,498000); a := GPC.1; b := GPC.4; # Define the group as a permutation group: Group( (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83)(84,85,86,87,89,91,88,90)(92,93,95,97,99,101,103,105,107,124,147,152,155,157,159,161,163,165,167,171,170,191,196,199,201,203,205,207,209,210,208,206,204,202,200,197,198,195,172,168,166,164,162,160,158,156,153,154,151,126,123,121,119,117,115,113,111,109,110,112,114,116,118,120,122,125,133,129,127,131,135,137,139,141,143,145,149,148,169,174,177,179,181,183,185,187,189,193,192,211,213,216,214,215,212,194,190,188,186,184,182,180,178,175,176,173,150,146,144,142,140,138,136,132,128,130,134,108,106,104,102,100,98,96,94)(217,218,219), (85,87)(86,88)(90,91)(93,94)(95,96)(97,98)(99,100)(101,102)(103,104)(105,106)(107,108)(109,127)(110,129)(111,131)(112,133)(113,135)(114,125)(115,137)(116,122)(117,139)(118,120)(119,141)(121,143)(123,145)(124,134)(126,149)(128,152)(130,147)(132,155)(136,157)(138,159)(140,161)(142,163)(144,165)(146,167)(148,151)(150,171)(153,174)(154,169)(156,177)(158,179)(160,181)(162,183)(164,185)(166,187)(168,189)(170,173)(172,193)(175,196)(176,191)(178,199)(180,201)(182,203)(184,205)(186,207)(188,209)(190,210)(192,195)(194,208)(197,213)(198,211)(200,216)(202,214)(204,215)(206,212) ); # Define the group as a matrix group with coefficients in GLFp: Group([[[ Z(499)^414, Z(499)^56 ], [ Z(499)^55, Z(499)^414 ]], [[ Z(499)^0, 0*Z(499) ], [ 0*Z(499), Z(499)^249 ]]]); # The primary decomposition of the group: AbelianInvariants(G); # The abelianization of the group: FactorGroup(G, DerivedSubgroup(G)); # The Schur multiplier of the group: AbelianInvariantsMultiplier(G); # The commutator length of the group: CommutatorLength(G); # List of subgroups of the group: AllSubgroups(G); # Center of the group: Center(G); # Commutator subgroup of the group G: DerivedSubgroup(G); # Frattini subgroup of the group G: FrattiniSubgroup(G); # Fitting subgroup of the group G: FittingSubgroup(G); # Radical of the group G: SolvableRadical(G); # Socle of the group G: Socle(G); # Derived series of the group G: DerivedSeriesOfGroup(G); # Chief series of the group G: ChiefSeries(G); # The lower central series of the group G: LowerCentralSeriesOfGroup(G); # The upper central series of the group G: UpperCentralSeriesOfGroup(G); # Character table: CharacterTable(G); # Output not guaranteed to exactly match the LMFDB table