Dear forum,
On Mar 9, 2010, at 3/9/10 11:13, krishna mohan wrote: > I needed to find the list of all subgroups for some commonly > encountered groups like SU(3), S4 etc. It seems to me that GAP can only give > the subgroups by listing the generators. > > Does anyone know if there is anyway that I can make it give me names of > subgroups, like say A4? in general, it doesn't really make sense to try to assign a name to a group of order more than 15 or so. Unless you're lucky, and have very particular groups with nice names, you'll end up with a large number of groups whose names are somehow very nondescriptive. Having said this, I append a description from a manual, currently in beta, http://www.math.colostate.edu/~hulpke/CGT/howtogap.pdf that tries to describe what one can hope to do as far as a group naming goes. Best wishes, Alexander Hulpke \section{Identifying groups} One of the most frequent requests that comes up is for {\GAP} to ``identify'' a given group. While some functionality for this exists, the problem is basically what ``identify'' means, or what a user expects from identification: \begin{itemize} \item For tiny orders (say up to 15), there are few groups up to isomorphism, and each of the groups has a ``natural'' name. Furthermore many these names belong into series (symmetric groups, dihedral groups, cyclic groups) and the remaining groups are in obvious ways (direct product or possibly semidirect product) composed from groups named this way. \item This clean situation breaks down quickly once the order increases: for example there are -- up to isomorphism -- 14 groups of order 16, 231 of order 96 and over 10 million of order 512. This rapid growth goes beyond any general ``naming'' or ``composition'' scheme. \item A decomposition as semidirect, subdirect or central product is not uniquely defined without some further information, which can be rather extensive to write down. \item Even if one might hope that a particular group would be composable in a nice way, this does not lead to an ``obvious'' description, for example the same group of order 16 could be described for example as $C_2\times D_8$, or as $C_2\ltimes Q_8$, or as $(C_2\times C_4)\rtimes C_2$ (and -- vice versa -- the last name could be given to $4$ nonisomorphic groups). In the context of matrix groups in characteristic $2$, $S_3$ is better called $SL_2(2)$, and so on. \item There are libraries of different classes of groups (e.g. small order up to isomorphism, or transitive subgroup of $S_n$ (for small $n$) up to conjugacy); these libraries typically allow to identify a given group, but the identification is just like the library call number of a book and gives little information about the group, it is mainly of use to allow recreation of the group with the identification number given as only information. \end{itemize} With these caveats, the following functions exist to identify groups and give them a name: \paragraph{\texttt{StructureDescription}} returns a string describing the isomorphism type of a group \gvar{G}. This string is produced recursively, trying to decompose groups as direct or semidirect products. The resulting string does \textbf{not} identify isomorphism types, nor is it neccessarily the most ``natural'' description of a group. \begin{verbatim} gap> g:=Group((1,2,3),(2,3,4));; gap> StructureDescription(g); "A4" \end{verbatim} \paragraph{Group Libraries} {\GAP} contains extensive libraries of ``small'' groups and many of these libraries allow identificatuion of a group therein. The associated library group then often comes with a name that might be appropriate. \begin{description} \item[Small Groups] The small groups library contains -- amongst others -- all groups of order $\le 1000$, except $512$. For such a group \texttt{IdGroup} returns a list \gvar{[sz,num]} such that the group is isomorphic to \texttt{SmallGroup(\gvar{sz,num})}. \begin{verbatim} gap> g:=Group((1,2,3),(2,3,4));; gap> IdGroup(g); [ 12, 3 ] gap> SmallGroup(12,3); <pc group of size 12 with 3 generators> \end{verbatim} \item[Transitive Groups] The transitive groups library contains transitive subgroups of $S_n$ of degree $\le 31$ up to $S_n$ conjugacy. For such a group of degree $n$, \texttt{TransitiveIdentification} returns a number \gvar{num}, such that the group is conjugate in $S_n$ to \texttt{TransitiveGroup(\gvar{n,num})}. \begin{verbatim} gap> g:=Group((1,2,3),(2,3,4));; gap> TransitiveIdentification(g); 4 gap> TransitiveGroup(NrMovedPoints(g),4); A4 \end{verbatim} \item[Primitive Groups] The primitive groups library contains primitive subgroups of $S_n$ (i.e. the group is transitive and affords no nontrivial $G$-invariant partition of the points) of degree $\le 1000$ up to $S_n$ conjugacy. For such a group of degree $n$, \texttt{PrimitiveIdentification} returns a number \gvar{num}, such that the group is conjugate in $S_n$ to \texttt{PrimitiveGroup(\gvar{n,num})}. \begin{verbatim} gap> g:=Group((1,2,3),(2,3,4));; gap> IsPrimitive(g,[1..4]); true gap> PrimitiveIdentification(g); 1 gap> PrimitiveGroup(NrMovedPoints(g),1); A(4) \end{verbatim} \end{description} -- Colorado State University, Department of Mathematics, Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA email: hul...@math.colostate.edu, Phone: ++1-970-4914288 http://www.math.colostate.edu/~hulpke _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum