Implementing GSet Command (Group Actions)

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
Bark_112
Posts: 2
Joined: Sun Apr 20, 2014 1:39 pm

Implementing GSet Command (Group Actions)

Post by Bark_112 » Sun Apr 20, 2014 2:01 pm

Hello!

I am currently having a problem with implementing the GSet Command. Below I have listed the functions I created that help me construct a set of matrices, Y, that satisfy a some particular conditions (i.e. they are all the 4x4 symmetric matrices with 0's on the diagonal and other entries either 0 or 1). I would then like to represent the Symmetric Group, S_4, as 4x4 matrices and have that group act on my set, Y, by conjugation.

I have been using, in particular, GSet(G,Y,f). This takes in as input, G- group in category GrpPerm, Y- a Set, and f is a map ( f := map< GxY -> Y | x :-> x[2]^x[1]>, where GxY is cartesian product). The problem I am having is that every attempt I make to construct my Symmetric Group, it ends up not being in the category GrpPerm. Is it possible for me to do this using the GSet function, or will I need to essentially construct my own functions that will do the group action in my particular case. Any help would be greatly appreciated, but please be keep in mind that I am new to MAGMA!

%Constructs all binary strings of length six
Seq:=function(n)
S:={};
x:=[0..2^n -1];
for i := 1 to 2^n do
y := Reverse(Intseq(x,2));
if #y eq 0 then
for j:=1 to 6 do
y:=Insert(y,j,0);
end for;
elif #y eq 1 then
for j:=1 to 5 do
y:=Insert(y,j,0);
end for;
elif #y eq 2 then
for j:=1 to 4 do
y:=Insert(y,j,0);
end for;
elif #y eq 3 then
for j:=1 to 3 do
y:=Insert(y,j,0);
end for;
elif #y eq 4 then
for j:=1 to 2 do
y:=Insert(y,j,0);
end for;
elif #y eq 5 then
y:=Insert(y,1,0);
else
y := y;
end if;
Include(~S,y);
end for;
return S;
end function;

%Uses binary strings to construct Symmetric matrices satisfying the above properties
SMatrix:=function(S)
Y:={};
for q in S do
x:=SymmetricMatrix(Integers(),[0,q[1],0,q[2],q[3],0,q[4],q[5],q[6],0]);
Include(~Y,x);
end for;
return Y;
end function;

mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

Re: Implementing GSet Command (Group Actions)

Post by mgates3 » Mon Apr 21, 2014 11:05 am

I think you have the wrong MAGMA. This MAGMA is for linear algebra using GPUs.

You probably intended this one instead:
http://magma.maths.usyd.edu.au/magma/

-mark

Bark_112
Posts: 2
Joined: Sun Apr 20, 2014 1:39 pm

Re: Implementing GSet Command (Group Actions)

Post by Bark_112 » Mon Apr 21, 2014 11:14 am

Oh, I'm sorry! Thank you for pointing that out for me!

Post Reply