Skip to content

Commit

Permalink
add shortname to IsomorphismTypeInfoFiniteSimpleGroup value
Browse files Browse the repository at this point in the history
The record returned by `IsomorphismTypeInfoFiniteSimpleGroup`
contains a `name` component that is not suitable for
programmatic access.

The new component `shortname` fits to the names that are used in
`CTblLib` and `AtlasRep`.
It will simplify some of my example sessions.
In particular I will be able to get rid of some calls to
`StructureDescription`; I think it is not appropriate to advertise
that function by applying it to simple groups.

    TB
  • Loading branch information
ThomasBreuer authored and fingolfin committed Feb 4, 2018
1 parent f16d0bd commit f004681
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 108 deletions.
3 changes: 2 additions & 1 deletion doc/tut/group.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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)" );
]]></Example>
<P/>
Expand Down
14 changes: 9 additions & 5 deletions lib/ctbl.gd
Original file line number Diff line number Diff line change
Expand Up @@ -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)" )
## ]]></Example>
## </Description>
## </ManSection>
Expand Down
14 changes: 10 additions & 4 deletions lib/ctbl.gi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
23 changes: 16 additions & 7 deletions lib/grp.gd
Original file line number Diff line number Diff line change
Expand Up @@ -3816,11 +3816,18 @@ DeclareOperation( "IntermediateSubgroups", [IsGroup, IsGroup] );
## <Description>
## For a finite simple group <A>G</A>,
## <Ref Func="IsomorphismTypeInfoFiniteSimpleGroup" Label="for a group"/>
## returns a record with the components <C>series</C>, <C>name</C>
## and possibly <C>parameter</C>,
## returns a record with the components <C>name</C>, <C>shortname</C>,
## <C>series</C>, and possibly <C>parameter</C>,
## describing the isomorphism type of <A>G</A>.
## The component <C>name</C> is a string that gives name(s) for <A>G</A>,
## and <C>series</C> is a string that describes the following series.
## <P/>
## The values of the components <C>name</C>, <C>shortname</C>,
## and <C>series</C> are strings,
## <C>name</C> gives name(s) for <A>G</A>,
## <C>shortname</C> gives one name for <A>G</A> that is compatible with the
## naming scheme used in the &GAP; packages <Package>CTblLib</Package> and
## <Package>AtlasRep</Package>
## (and in the &ATLAS; of Finite Groups&nbsp;<Cite Key="CCN85"/>),
## and <C>series</C> describes the following series.
## <P/>
## (If different characterizations of <A>G</A> are possible
## only one is given by <C>series</C> and <C>parameter</C>,
Expand Down Expand Up @@ -3927,7 +3934,8 @@ DeclareOperation( "IntermediateSubgroups", [IsGroup, IsGroup] );
## > Group((4,5)(6,7),(1,2,4)(3,5,6)));
## 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)" )
## ]]></Example>
## <P/>
## For a positive integer <A>n</A>,
Expand All @@ -3940,8 +3948,9 @@ DeclareOperation( "IntermediateSubgroups", [IsGroup, IsGroup] );
## two possible isomorphism types of simple groups of this order.
## <P/>
## <Example><![CDATA[
## gap> IsomorphismTypeInfoFiniteSimpleGroup( 5 );
## rec( name := "Z(5)", parameter := 5, series := "Z" )
## gap> IsomorphismTypeInfoFiniteSimpleGroup( 5 );
## rec( name := "Z(5)", parameter := 5, series := "Z", shortname := "C5"
## )
## gap> IsomorphismTypeInfoFiniteSimpleGroup( 6 );
## fail
## gap> IsomorphismTypeInfoFiniteSimpleGroup(Size(SymplecticGroup(6,3))/2);
Expand Down
Loading

0 comments on commit f004681

Please sign in to comment.