5
$\begingroup$

I am sorting some easy questions for the students in Group Theory I. One of them is:

Is $(\mathbb Z_{14},+)$ isomorphic to a subgroup of $(\mathbb Z_{35},+)$? What about $(\mathbb Z_{56},+)$?

I know the first claim is false because if it is true then I have $14\nmid 35$ which is a contradiction. For the second one, I see the function $f:(\mathbb Z_{14},+)\to(\mathbb Z_{56},+), f(g)=4g$ is a nice one-one homomorphism.

My problem is to find $f(\mathbb Z_{14})$ by using GAP. I know how to define Cyclic Groups or Free Groups in GAP's environment also. Thanks for the ANY help.

$\endgroup$
  • $\begingroup$ do you just want to find a subgroup of order 14 from the group $\mathbb{Z}_{56}$? $\endgroup$ – Easy May 14 '13 at 12:46
  • $\begingroup$ any subgroup of a cyclic group is cyclic and uniquely determined by its order. In other words, as long as you find a subgroup that is order 14, then you reach the target! $\endgroup$ – Easy May 14 '13 at 12:53
  • $\begingroup$ @Easy: How can we find it via that function? I mean $f(Z_{14})$. $\endgroup$ – mrs May 14 '13 at 12:54
  • $\begingroup$ Since we know that the possible image is unique, we can use the function "Filtered" to do what we want. $\endgroup$ – Easy May 14 '13 at 12:57
  • $\begingroup$ @Easy: Is that installed on your system? $\endgroup$ – mrs May 14 '13 at 13:00
5
$\begingroup$
gap> G:=CyclicGroup(56);
<pc group of size 56 with 4 generators>
gap> S:=AllSubgroups(G); # available since GAP 4.5, mainly for teaching purposes
[ Group([ <identity> of ... ]), Group([ f3*f4^3 ]), Group([ f2*f3*f4 ]), 
  Group([ f4 ]), Group([ f1*f2*f3 ]), Group([ f3 ]), Group([ f2 ]), 
  Group([ f1, f2, f3, f4 ]) ]
gap> H:=Filtered(S,x->Size(x)=14);
[ Group([ f3 ]) ]
| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks. I've replaced Subgroups from the SONATA package, used in the original answer (which would not work if SONATA is not loaded), by AllSubgroups introduced in GAP 4.5 (see lib/teaching.g) and intended primarily for use in class for small examples (in a general case it is recommended to use ConjugacyClassesSubgroups instead). $\endgroup$ – Alexander Konovalov May 16 '13 at 21:12
  • $\begingroup$ P.S. Forgot to post a link to 7.7: How do I get the subgroups of my group? from the GAP F.A.Q. $\endgroup$ – Alexander Konovalov May 16 '13 at 21:22
  • $\begingroup$ @AlexanderKonovalov: Thanks Alexander for your nice supervision. $\endgroup$ – mrs May 26 '13 at 14:55
  • $\begingroup$ @BabakS.: you're welcome! $\endgroup$ – Alexander Konovalov May 27 '13 at 15:52
4
$\begingroup$

Since we know it's cyclic, we just have to find an element of order $14$:

G:=CyclicGroup(56);
gen:=Filtered(G,g->Order(g)=14);
Group(gen[1]);
| cite | improve this answer | |
$\endgroup$
  • $\begingroup$ I appreciate you for the codes and your time. :-) $\endgroup$ – mrs May 14 '13 at 13:32
  • $\begingroup$ It's nice to be appreciated. But perhaps Alexander Konovalov will come along shortly and trounce our efforts. $\endgroup$ – Douglas S. Stones May 14 '13 at 13:34
  • $\begingroup$ @DouglasS.Stones: :-) If I would be writing my reply here, I would try to construct an example similar to the one by Jack, since the question asks about additive groups and an image of a mapping. However, in the class (dependently on the familiarity of the audience with GAP and the topic), finding an element of order 14 and using it to generate a group may be also quite useful, covering many topics e.g. algorithmic thinking; isomorphism between additive and multiplicative groups; one can ask to explain what happens if the subgroup will be generated by another element of order 14, etc. $\endgroup$ – Alexander Konovalov May 16 '13 at 21:38
4
$\begingroup$

GAP prefers multiplicative groups. However, you can make some limited use of additive groups if you are willing to inform GAP of a few things it doesn't calculate automatically.

gap> g:=Integers mod 14;
(Integers mod 14)
gap> h:=Integers mod 56;
(Integers mod 56)
gap> f:=MappingByFunction( g, h, x -> 4*Int(x)*One(h) );
MappingByFunction( (Integers mod 14), (Integers mod 56), function( x ) ... end )
gap> SetRespectsZero( f, Image( f, Zero(Source(f))) = Zero(Range(f)) );
gap> SetRespectsAddition( f, ForAll( Tuples(Source(f),2),
     xy -> Image(f,xy[1]+xy[2]) = Image(f,xy[1])+Image(f,xy[2]) ));
gap> IsAdditiveGroupHomomorphism(f);
true
gap> Image(f);
[ ZmodnZObj( 0, 56 ), ZmodnZObj( 4, 56 ), ZmodnZObj( 8, 56 ),
  ZmodnZObj( 12, 56 ), ZmodnZObj( 16, 56 ), ZmodnZObj( 20, 56 ),
  ZmodnZObj( 24, 56 ), ZmodnZObj( 28, 56 ), ZmodnZObj( 32, 56 ),
  ZmodnZObj( 36, 56 ), ZmodnZObj( 40, 56 ), ZmodnZObj( 44, 56 ),
  ZmodnZObj( 48, 56 ), ZmodnZObj( 52, 56 ) ]
gap> Size(Kernel(f));
1
gap> IsInjective(f);
true
| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.