Metacyclic Groups by Maple
Kahtan H. Alzubaidy
Department of Mathematics, Faculty of Science,University of Benghazi,Liya
E-mail: kahtanalzubaidy@yahoo.com
Key Words : Metacyclic Groups, Recurrence Relations
Introduction.
A group G is called metacyclic if it has a normal subgroup H such that both H and G/H are cyclic. A metacyclic group is presented by two generators and three relations.
An important class of metacyclic groups is finitely presented as follows
G=<a,b: G={
G y
If r =1, then G y
In this article a few procedures are made to compute the list of group elements, group table, a table of the inverse elements, and a table of the order of the elements for the metacylic group G.The centralizer and center are computed. Finally conjugate classes are also found.
A finite metacyclic group of this class is represented by a finite group of complex numbers with a special binary operation.Complex numbers in this respect simplifies Maple computation instead of dealing with powerw of the generators a and b directly.
The advantige of the approach of this application is that mathematical forms are maintained so that the results look like exactly as in mathematics.
Referencs
[1] Michael O. Albertson,Joan P. Hutchinson, Discrete Mathematics with Algorithms, John Wiley & Sons,New York, 1988.
[2] Thomas W. Hungerford, Algebra, Springer-Verlag, Graduate Texts in Mathematics 73, New York, 1974.
Computations
The following procedure determine the values of r if m and n are given.
r:= proc(m,n) local L,x;L:={};
for x from 2 to m-1 do if is(x^n mod m =1)then L:=L union {x} fi od;min(L);
end proc;
We have taken the minimum value of r not 1. The other values may produce isomorphic copies of groups.To get all values of r
msolve(x^3=1,7);
Notation: Our group is denoted by G(a,m,b,n,r).
The following procedure lists the elements of the group G(a,m,b,n,r).
G:=proc(a,m,b,n,r)
local M;
M:=Transpose(Matrix(m,n,(i,j)->a^(i-1)*b^(j-1)));
[seq(seq(M(i,j),j=1..m),i=1..n)], m*n, elements;
From we have
(
The identity is
Complex representation
We make a complex copy GC of the metacyclic group G.
Thus the operation, identity, and inverse element in GC are given as follows
p(z,w)=(Re(z)+
identity 0+0*I =0
inv(z)= (m - Re(z))*
Group elements of the complex copy GC are given by the following procedure
GC:=proc(a,m,b,n,r)
M:=Transpose(Matrix(m,n,(i,j)->Complex(i-1,j-1)));
[seq(seq(M(i,j),j=1..m),i=1..n)];
Group Tables
We start first with the complex group table GTC of the group GC.
T:=proc(a,m,b,n,r)
local L,p;
p := proc (z, w) options operator, arrow; `mod`(Re(z)+r^Im(z)*Re(w), m)+I*(`mod`(Im(z)+Im(w), n)) end proc;
L:=GC(a,m,b,n,r);
Matrix(m*n,(i,j)->p(L[i],L[j]));
GTC:=proc(a,m,b,n,r)
local L,R,RR,P,N;
R:=convert([L],matrix);
RR:=transpose(R);N:=T(a,m,b,n,r);
P:=Matrix([[omicron]]);
blockmatrix(2,2,[P,R,RR,N,P,RR,R,N]);
Now, we compute the group table GT of G in terms of the usual notations of our metacyclic group.
h:=proc(w,a,b)
if w=omicron then omicron else a^Re(w)*b^Im(w) fi;
GT:=proc(a,m,b,n,r)
local M,h1; M:=GTC(a,m,b,n,r); h1:=w->h(w,a,b);
Map(h1,M);
The abelian case is when r =1.
Power of element
PrC:=proc(z,s,m,n,r)
local t,p,q;
p := (z,w)->(Re(z)+r^Im(z)*Re(w)) mod m +I*(Im(z)+Im(w) mod n);
q:=t->p(q(t-1),z);
q(1):=z;
q(s);
PrG:=proc(i,j,s,m,n,r) local z;
z:=PrC(Complex(i, j), s, m, n, r);a^Re(z)*b^Im(z);
Inverse Elements Tables
Inverse elements table ITC of GC is as follows.
ITC:=proc(m,n,r)
local M,L,inv,IL;inv := z->Complex(`mod`((m-Re(z))*r^(2-Im(z)), m), `mod`(n-Im(z), n)) ;
L:= [seq(seq(M(i,j),j=1..m),i=1..n)];
IL:=Map(inv,L);
Transpose(Matrix(2, m*n, [L, IL]));
Inverse elements table ITG of G is as follows.
ITG:=proc(a,m,b,n,r)
local hh; hh:=w->a^Re(w)*b^Im(w);
Map(hh,ITC(m,n,r));
Order Tables
The order OrdC of an element z in GC and order table OTC of GC
OrdC:=proc(z,m,n,r)
z;p := (z,w)->(Re(z)+r^Im(z)*Re(w)) mod m +I*(Im(z)+Im(w) mod n);
q:=n->p(q(n-1),z);
for t from 1 to m*n do if is(q(t)=0) then return(t) fi;od;
OTC:=proc(m,n,r)
local L,OL,ord1;
L:= GC(a,m,b,n,r);
ord1:=z->OrdC(z,m,n,r);
OL:=Map(ord1,L);
Transpose(Matrix(2, m*n, [L, OL]));
The order of element in G and the order table OTG of G
OrdG:=proc(i,j,a,m,b,n,r) local z;
z:=Complex(i,j);
OrdC(z,m,n,r);
OTG:=proc(a,m,b,n,r) local A,L,K,hh,LL;
A:=OTC(m,n,r);
L:=convert(col(A,1),list);
K:=convert(col(A,2),list);
hh:=w->a^Re(w)*b^Im(w);
LL:=Map(hh,L);
transpose(Matrix(2,m*n,[LL,K]));
Centerlizer and Center
Centeralizer CentC in GC and centeralizer CentG in G as well as CenterC and CenterG are found below
CentC:=proc(u,a,m,b,n,r)
local E,p;
E:=GC(a,m,b,n,r);
{ select(z->is(p(u,z)=p(z,u)),E)[]};
CentG:=proc(i,j,a,m,b,n,r) local S,hh; hh:=w->a^Re(w)*b^Im(w);
S:=CentC(Complex(i,j),a,m,b,n,r);
Map(hh,S);
CenterC:=proc(a,m,b,n,r)
local S,E;E:=GC(a,m,b,n,r);
S := seq(CentC(z, a, m, b, n, r), `in`(z, E));
`intersect`(S);
CenterG:=proc(a,m,b,n,r)
local L,hh;
L:=CenterC(a,m,b,n,r);
Map(hh,L);
Conjugate Classes
ConjC and ConjG are to find cojugate class of an element in GC and G respectively.
ConjClassesC and ConjClassesG are to find cojugate classes of GC and G respectively.
ConjC:=proc(z,a,m,b,n,r)
local p,inv,E; E:=GC(a,m,b,n,r);
inv := z->Complex(`mod`((m-Re(z))*r^(2-Im(z)), m), `mod`(n-Im(z), n)) ;
{seq(p(p(w,z),inv(w)),w in E)};
ConjG:=proc(i,j,a,m,b,n,r)
local z,hh,S;
z:=Complex(i,j);S:=ConjC(z,a,m,b,n,r);
ConjClassesC:=proc(a,m,b,n,r)
local E,con1; con1:=z->ConjC(z,a,m,b,n,r);
{seq(con1(z),z in E)};
ConjClassesG:=proc(a,m,b,n,r)
local H,hh;
H:=ConjClassesC(a,m,b,n,r);seq(Map(hh,X),X=H);
Remark
It is known that a subgroup and a quotient group of a metacyclic group are metacyclic. One may use the same treatment to find all subgroups of a metacyclic group.