[GAP Forum] Free Vertices

Alexander Konovalov alexk at mcs.st-andrews.ac.uk
Thu May 29 13:03:58 BST 2014


On 26 May 2014, at 12:31, Siddiqua Mazhar <s.mazhar at newcastle.ac.uk> wrote:

> Dear Sir/Madam,
> 
> Let x and y be a finite permutation representation,
> 
> x:=((6,10,12,14,9)(4,7,11,13,8));
> 
> y:=((1,3,6,9,5,2,4)(8,13,14,10,11,7,12));
> 
> I want to find the sequence C here from these permutations as,
> 
> C=[(1,3),(5,2)];
> 
> Here C are free vertices that means the points that are fixed under x and moved for y and are consecutive to each other. Let say 1 is fixed for x and 1^y=3 and then 3 is again fixed for x so we will add it in sequence c that i used in program c:=[j] and again 3^y=6 but 6 is not fixed for x so the loop will terminate. further I want to check other moved points of y that are free for x. Here 5 is fixed for x and moved for y, i.e. 5^y=2 and 2^x=2 so C will be C:=[5,2] because 2^y=4 and (4^x)<>4.
> 
> so here 5 and 2 are consective points and 1 and 3 are consecutive points.
> 
> this is what I have written in my previous email that 1 and 3 are fixed under x permutation and they are in y cylce next to each other, similarly, 5 and 2 are fixed under x and in y cycle they are next to each other moreover all of its subsequences.
> 
> For this I tried this program in GAP that gives me only C:=[5,2] ,indeed i want to calculate other value [1,3] by doing the same program.
> 
> The program I made as follows
> 
> FindSequenceOfFreeVertices:=function(x,y)
> local j,c,next;
> 
> for j in MovedPoints(y) do
>  if j^x=j then
>  c:=[j];
>  next:=j^y;
> 
> 
> 
> while next^x=next do
>  Add(c,next);
>  next:=next^y;
>  od;
> fi;
> od;
> 
> 
> Print("sequence of Free Vertices =",c,"\n");
> end;
> 
> I hope this program will be easier for you to understand my question. Thanks

Perhaps the problem is that the list 'c' is created inside the 'for' loop, so
only its last value will be printed?

HTH
Alexander




More information about the Forum mailing list