There is no built-in function that does exactly what you want, so you will need
to write a short program to do this. There are lots of ways to do that, some
are shorter than others, some more readable, some more efficient.
Here is one solution:
sl := function ( l )
local ll;
ll := Concatenation( l, l );
return Concatenation( List( [ 1 .. Length( l ) ], function ( i )
return List( [ i + 1 .. i + Length( l ) - 2 ], function ( j )
return ll{[ i .. j ]};
end );
end ) );
end;
Then
sl2 := l->Concatenation(List(l,sl));
I suggest you have a look at the reference manual especially chapter
http://www.gap-system.org/Manuals/doc/ref/chap0.html
especially chapters 4 and 21. If you need further assistance you can contact
GAP support on
[email protected].
Steve
On 2 Oct 2014, at 15:13, Siddiqua Mazhar (PGR) <[email protected]> wrote:
> Dear Sir/Madam,
>
> My question is, if I have a list like
>
> a:=[[1,2,4,6,11],[12,23,19,17,15]]
>
> then how can I find the sublists of this list in GAP that are in the same
> order of the elements as it has been placed in the list. For instance I want
> to find the result in this form
>
> result:=
> [1,2],[2,4],[4,6],[6,11],[11,1],[1,2,4],[2,4,6],[4,6,11],[6,11,1],[11,1,2],[1,2,4,6],[2,4,6,11],[12,23],[23,19],[19,17],[17,15],[15,12],[12,23,19],[23,19,17],[19,17,15],[17,15,12],[15,12,23][12,23,19,17],[23,19,17,15];
>
>
> Kind regards
> Siddiqua
> _______________________________________________
> Forum mailing list
> [email protected]
> http://mail.gap-system.org/mailman/listinfo/forum
_______________________________________________
Forum mailing list
[email protected]
http://mail.gap-system.org/mailman/listinfo/forum