Dear Gap Forum,
On Fri, Jan 25, 2002 at 12:11:32PM +0100, Joachim Neubueser wrote: > Daer Gap Forum members, > > In a Forum mail answering a question of Igor Schein, I had written: > > > There is no special function in GAP which would directly answer the > > question if a given group contains a subgroup isomorphic to the > > quaternion group, or that would just find such a subgroup. > > I want to thank Stefan Kohl for correcting me in a private letter with > respect to this statement. As he pointed out, in chapter 37 of the > reference manual the following operation is described:: > > ---------------------------------------------------------------------- > > IsomorphicSubgroups( <G>, <H> ) > > computes all monomorphisms from <H> into <G> up to <G>-conjugacy of > the image groups. This classifies all <G>-classes of subgroups of <G> > which are isomorphic to <H>. > > With the existing methods the amount of time needed grows with the > size of a generating system of <G>. (Thus in particular for $p$-groups > calculations can be slow.) > > If the `findall' option is set to `false', the algorithm will stop > once one homomorphism has been found (this can be faster and might be > sufficient if not all homomorphisms are needed). > > gap> g:=Group((1,2,3,4),(1,2)); > Group([ (1,2,3,4), (1,2) ]) > gap> h:=Group((3,4),(1,2));; > gap> emb:=IsomorphicSubgroups(g,h); > [ [ (3,4), (1,2) ] -> [ (3,4), (1,2) ], > [ (3,4), (1,2) ] -> [ (1,3)(2,4), (1,2)(3,4) ] ] > ---------------------------------------------------------------------- > > While likely, if one wants to look for quaternion groups in a large > number of groups, a small program along the suggestions in my last > letter will be faster, this operation certainly can be used. > > Thanks again to Stefan for carefully reading the Forum messages. > > Joachim Neubueser
Thanks a lot, that's exactly what I needed. Now I can answer my original
question:
gap> IsomorphicSubgroups(SmallGroup(32,29),SmallGroup(8,4)); [ [ f1, f2 ] -> [ f1, f2 ], [ f1, f2 ] -> [ f1*f5, f1*f2 ] ]
So SmallGroup(32,29) indeed contains a quaterunion subgroup.
I don't understand this though:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ gap> IsomorphicSubgroups(SmallGroup(32,29),SmallGroup(4,1)); List Element: <list>[1] must have an assigned value at return i[1]; func( elm ) called from List( pows, function ( i ) return i[1]; end ) called from MorClassLoop( G, bi, params, 11 ) called from <function>( <arguments> ) called from read-eval-loop Entering break read-eval-print loop, you can 'quit;' to quit to outer loop, or you can return after assigning a value to continue \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Why error?
Thanks
Igor