diff --git a/doc/tut/group.xml b/doc/tut/group.xml index 43d94fef4a..b229940cd2 100644 --- a/doc/tut/group.xml +++ b/doc/tut/group.xml @@ -202,7 +202,8 @@ gap> IsSimple( f ); IsomorphismTypeInfoFiniteSimpleGroup( f ); true rec( name := "A(1,7) = L(2,7) ~ B(1,7) = O(3,7) ~ C(1,7) = S(2,7) ~ 2A(1,\ -7) = U(2,7) ~ A(2,2) = L(3,2)", parameter := [ 2, 7 ], series := "L" ) +7) = U(2,7) ~ A(2,2) = L(3,2)", parameter := [ 2, 7 ], series := "L", + shortname := "L3(2)" ) gap> SetName( f, "L_3(2)" ); ]]>
diff --git a/lib/ctbl.gd b/lib/ctbl.gd index f29ad5e1c6..dc26480cf4 100644 --- a/lib/ctbl.gd +++ b/lib/ctbl.gd @@ -1163,18 +1163,22 @@ DeclareAttributeSuppCT( "OrdinaryCharacterTable", IsGroup, [] ); ## gap> List( tables, Size ); ## [ 3, 24, 60 ] ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "C5" ) ); -## rec( name := "Z(5)", parameter := 5, series := "Z" ) +## rec( name := "Z(5)", parameter := 5, series := "Z", shortname := "C5" +## ) ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "S3" ) ); ## fail ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "S6(3)" ) ); -## rec( name := "C(3,3) = S(6,3)", parameter := [ 3, 3 ], series := "C" ) +## rec( name := "C(3,3) = S(6,3)", parameter := [ 3, 3 ], series := "C", +## shortname := "S6(3)" ) ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "O7(3)" ) ); -## rec( name := "B(3,3) = O(7,3)", parameter := [ 3, 3 ], series := "B" ) +## rec( name := "B(3,3) = O(7,3)", parameter := [ 3, 3 ], series := "B", +## shortname := "O7(3)" ) ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "A8" ) ); ## rec( name := "A(8) ~ A(3,2) = L(4,2) ~ D(3,2) = O+(6,2)", -## parameter := 8, series := "A" ) +## parameter := 8, series := "A", shortname := "A8" ) ## gap> IsomorphismTypeInfoFiniteSimpleGroup( CharacterTable( "L3(4)" ) ); -## rec( name := "A(2,4) = L(3,4)", parameter := [ 3, 4 ], series := "L" ) +## rec( name := "A(2,4) = L(3,4)", parameter := [ 3, 4 ], series := "L", +## shortname := "L3(4)" ) ## ]]> ## ## diff --git a/lib/ctbl.gi b/lib/ctbl.gi index a9f94bd8d4..a7532a32bd 100644 --- a/lib/ctbl.gi +++ b/lib/ctbl.gi @@ -1456,23 +1456,29 @@ InstallMethod( IsomorphismTypeInfoFiniteSimpleGroup, parameter:= [ n, q ], name:= Concatenation( "B(", String(n), ",", String(q), ") ", "= O(", String(2*n+1), ",", - String(q), ")" ) ); + String(q), ")" ), + shortname:= Concatenation( "O", String( 2*n+1 ), "(", + String(q), ")" ) ); else type:= rec( series:= "C", parameter:= [ n, q ], name:= Concatenation( "C(", String(n), ",", String(q), ") ", "= S(", String(2*n), ",", - String(q), ")" ) ); + String(q), ")" ), + shortname:= Concatenation( "S", String( 2*n ), "(", + String( q ), ")" ) ); fi; elif 15 in SizesCentralizers( tbl ) then type:= rec( series:= "A", parameter:= 8, name:= Concatenation( "A(8) ", "~ A(3,2) = L(4,2) ", - "~ D(3,2) = O+(6,2)" ) ); + "~ D(3,2) = O+(6,2)" ), + shortname:= "A8" ); else type:= rec( series:= "L", parameter:= [ 3, 4 ], - name:= "A(2,4) = L(3,4)" ); + name:= "A(2,4) = L(3,4)", + shortname:= "L3(4)" ); fi; fi; return type; diff --git a/lib/grp.gd b/lib/grp.gd index 89c36764e0..c064852565 100644 --- a/lib/grp.gd +++ b/lib/grp.gd @@ -3816,11 +3816,18 @@ DeclareOperation( "IntermediateSubgroups", [IsGroup, IsGroup] ); ##for size of A(n,q) @@ -3693,31 +3729,34 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) # exceptions: A(1,4) ~ A(1,5) ~ A(5), A(1,7) ~ A(2,2), A(1,9) ~ A(6) if n = 1 and size = size2 then return rec(series:="L",parameter:=[2,q], - name:=Concatenation( "A(", "1", ",", String(q), ") ", - "= L(", "2", ",", String(q), ") ", - "~ B(", "1", ",", String(q), ") ", - "= O(", "3", ",", String(q), ") ", - "~ C(", "1", ",", String(q), ") ", - "= S(", "2", ",", String(q), ") ", - "~ 2A(","1", ",", String(q), ") ", - "= U(", "2", ",", String(q), ")" )); + name:=Concatenation( "A(1,", String(q), ") ", + "= L(2,", String(q), ") ", + "~ B(1,", String(q), ") ", + "= O(3,", String(q), ") ", + "~ C(1,", String(q), ") ", + "= S(2,", String(q), ") ", + "~ 2A(1,", String(q), ") ", + "= U(2,", String(q), ")" ), + shortname:= Concatenation( "L2(", String( q ), ")" )); fi; # test ifis a Chevalley group A(3,q) ~ D(3,q) # exceptions: A(3,2) ~ A(8) if n = 3 and size = size2 then return rec(series:="L",parameter:=[4,q], - name:=Concatenation( "A(", "3", ",", String(q), ") ", - "= L(", "4", ",", String(q), ") ", - "~ D(", "3", ",", String(q), ") ", - "= O+(","6", ",", String(q), ") " )); + name:=Concatenation( "A(3,", String(q), ") ", + "= L(4,", String(q), ") ", + "~ D(3,", String(q), ") ", + "= O+(6,", String(q), ") " ), + shortname:= Concatenation( "L4(", String( q ), ")" )); fi; # test if is a Chevalley group A(n,q) if size = size2 then return rec(series:="L",parameter:=[n+1,q], name:=Concatenation( "A(", String(n), ",", String(q), ") ", - "= L(", String(n+1), ",", String(q), ") " )); + "= L(", String(n+1), ",", String(q), ") " ), + shortname:= Concatenation( "L", String( n+1 ), "(", String( q ), ")" )); fi; # try to find and for size of B(n,q) = size of C(n,q) @@ -3739,7 +3778,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) name:=Concatenation( "B(2,3) = O(5,3) ", "~ C(2,3) = S(4,3) ", "~ 2A(3,2) = U(4,2) ", - "~ 2D(3,2) = O-(6,2)" )); + "~ 2D(3,2) = O-(6,2)" ), + shortname:= "U4(2)"); fi; # Rule out the case B(2,2) ~ S(6) if only the group order is given. @@ -3758,7 +3798,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) name:=Concatenation( "B(2,", String(q), ") ", "= O(5,", String(q), ") ", "~ C(2,", String(q), ") ", - "= S(4,", String(q), ")" )); + "= S(4,", String(q), ")" ), + shortname:= Concatenation( "S4(", String( q ), ")" )); fi; # test ifis a Chevalley group B(n,2^m) ~ C(n,2^m) @@ -3768,7 +3809,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) name:=Concatenation("B(",String(n), ",", String(q), ") ", "= O(", String(2*n+1), ",", String(q), ") ", "~ C(", String(n), ",", String(q), ") ", - "= S(", String(2*n), ",", String(q), ")" )); + "= S(", String(2*n), ",", String(q), ")" ), + shortname:= Concatenation( "S", String( 2*n ), "(", String( q ), ")" )); fi; # test if is a Chevalley group B(n,q) or C(n,q), 2 < n and q odd @@ -3795,11 +3837,13 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) if Size(C) mod (q^(2*n-2)-1) <> 0 then return rec(series:="B",parameter:=[n,q], name:=Concatenation("B(", String(n),",",String(q),") ", - "= O(", String(2*n+1), ",", String(q), ")")); + "= O(", String(2*n+1), ",", String(q), ")"), + shortname:= Concatenation( "O", String( 2*n+1 ), "(", String( q ), ")" )); else return rec(series:="C",parameter:=[n,q], name:=Concatenation( "C(",String(n),",",String(q),") ", - "= S(", String(2*n), ",", String(q), ")" )); + "= S(", String(2*n), ",", String(q), ")" ), + shortname:= Concatenation( "S", String( 2*n ), "(", String( q ), ")" )); fi; fi; @@ -3820,7 +3864,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) if size = size2 then return rec(series:="D",parameter:=[n,q], name:=Concatenation("D(",String(n),",",String(q), ") ", - "= O+(", String(2*n), ",", String(q), ")" )); + "= O+(", String(2*n), ",", String(q), ")" ), + shortname:= Concatenation( "O", String( 2*n ), "+(", String( q ), ")" )); fi; # test whether is an exceptional Chevalley group E(6,q) @@ -3832,7 +3877,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="E",parameter:=[6,q], - name:=Concatenation( "E(", "6", ",", String(q), ")" )); + name:=Concatenation( "E(6,", String(q), ")" ), + shortname:= Concatenation( "E6(", String( q ), ")" )); fi; # test whether is an exceptional Chevalley group E(7,q) @@ -3844,7 +3890,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="E",parameter:=[7,q], - name:=Concatenation( "E(", "7", ",", String(q), ")" )); + name:=Concatenation( "E(7,", String(q), ")" ), + shortname:= Concatenation( "E7(", String( q ), ")" )); fi; # test whether is an exceptional Chevalley group E(8,q) @@ -3856,7 +3903,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="E",parameter:=[8,q], - name:=Concatenation( "E(", "8", ",", String(q), ")" )); + name:=Concatenation( "E(8,", String(q), ")" ), + shortname:= Concatenation( "E8(", String( q ), ")" )); fi; # test whether is an exceptional Chevalley group F(4,q) @@ -3867,7 +3915,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="F",parameter:=q, - name:=Concatenation( "F(4,", String(q), ")" )); + name:=Concatenation( "F(4,", String(q), ")" ), + shortname:= Concatenation( "F4(", String( q ), ")" )); fi; # Rule out the case G(2,2) ~ U(3,3).2 if only the group order is given. @@ -3888,13 +3937,15 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="G",parameter:=q, - name:=Concatenation( "G(", "2", ",", String(q), ")" )); + name:=Concatenation( "G(2,", String(q), ")" ), + shortname:= Concatenation( "G2(", String( q ), ")" )); fi; # test if is 2A(2,3), where p = 2 <> char. if size = 3^3*(3^2-1)*(3^3+1) then return rec(series:="2A",parameter:=[2,3], - name:="2A(2,3) = U(3,3)"); + name:="2A(2,3) = U(3,3)", + shortname:= "U3(3)"); fi; # try to find and for size of 2A(n,q) @@ -3914,10 +3965,11 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) # order is given, since the dominant prime for group order 72 is 3.) if n = 3 and size = size2 then return rec(series:="2A",parameter:=[3,q], - name:=Concatenation( "2A(", "3", ",", String(q), ") ", - "= U(", "4", ",", String(q), ") ", - "~ 2D(", "3", ",", String(q), ") ", - "= O-(", "6", ",", String(q), ")" )); + name:=Concatenation( "2A(3,", String(q), ") ", + "= U(4,", String(q), ") ", + "~ 2D(3,", String(q), ") ", + "= O-(6,", String(q), ")" ), + shortname:= Concatenation( "U4(", String( q ), ")" )); fi; # test ifis a Steinberg group 2A(n,q) @@ -3925,7 +3977,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) if size = size2 then return rec(series:="2A",parameter:=[n,q], name:=Concatenation("2A(",String(n),",", String(q), ") ", - "= U(", String(n+1), ",", String(q), ")" )); + "= U(", String(n+1), ",", String(q), ")" ), + shortname:= Concatenation( "U", String( n+1 ), "(", String( q ), ")" )); fi; # test whether is a Suzuki group 2B(2,q) = 2C(2,q) = Sz(q) @@ -3939,9 +3992,10 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if p = 2 and m mod 2 = 1 and size = size2 then return rec(series:="2B",parameter:=q, - name:=Concatenation( "2B(", "2", ",", String(q), ") ", - "= 2C(", "2", ",", String(q), ") ", - "= Sz(", String(q), ")" )); + name:=Concatenation( "2B(2,", String(q), ") ", + "= 2C(2,", String(q), ") ", + "= Sz(", String(q), ")" ), + shortname:= Concatenation( "Sz(", String( q ), ")" )); fi; # test whether is a Steinberg group 2D(n,q) @@ -3959,7 +4013,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) if size = size2 then return rec(series:="2D",parameter:=[n,q], name:=Concatenation("2D(",String(n),",", String(q), ") ", - "= O-(", String(2*n), ",", String(q), ")" )); + "= O-(", String(2*n), ",", String(q), ")" ), + shortname:= Concatenation( "O", String( 2*n ), "-(", String( q ), ")" )); fi; # test whether is a Steinberg group 3D4(q) @@ -3970,7 +4025,8 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="3D",parameter:=q, - name:=Concatenation( "3D(", "4", ",", String(q), ")" )); + name:=Concatenation( "3D(4,", String(q), ")" ), + shortname:= Concatenation( "3D4(", String( q ), ")" )); fi; @@ -3983,13 +4039,15 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if size = size2 then return rec(series:="2E",parameter:=q, - name:=Concatenation( "2E(", "6", ",", String(q), ")" )); + name:=Concatenation( "2E(6,", String(q), ")" ), + shortname:= Concatenation( "2E6(", String( q ), ")" )); fi; # test if is the Ree group 2F(4,q)' if size = 2^12 * (2^6+1)*(2^4-1)*(2^3+1)*(2-1) / 2 then return rec(series:="2F",parameter:=2, - name:="2F(4,2)' = Ree(2)' = Tits"); + name:="2F(4,2)' = Ree(2)' = Tits", + shortname:= "2F4(2)'"); fi; # test whether is a Ree group 2F(4,q) @@ -4000,8 +4058,9 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if p = 2 and 1 < m and m mod 2 = 1 and size = size2 then return rec(series:="2F",parameter:=q, - name:=Concatenation( "2F(", "4", ",", String(q), ") ", - "= Ree(", String(q), ")" )); + name:=Concatenation( "2F(4,", String(q), ") ", + "= Ree(", String(q), ")" ), + shortname:= Concatenation( "2F4(", String( q ), ")" )); fi; # test whether is a Ree group 2G(2,q) @@ -4012,8 +4071,9 @@ IsomorphismTypeInfoFiniteSimpleGroup_fun:= function( G ) until size <= size2; if p = 3 and 1 < m and m mod 2 = 1 and size = size2 then return rec(series:="2G",parameter:=q, - name:=Concatenation( "2G(", "2", ",", String(q), ") ", - "= Ree(", String(q), ")" )); + name:=Concatenation( "2G(2,", String(q), ") ", + "= Ree(", String(q), ")" ), + shortname:= Concatenation( "R(", String( q ), ")" )); fi; # or a new simple group is found