List all elements of the Weyl group of type $A_3$ Could someone please list all elements of the Weyl group of the root system of type $A_3$ in terms of simple reflections. In this case the Weyl group is $S_4$. Its strange that GAP failed to list all elements of this Weyl group but could list all elements of type $B_3$. 
Is there any command to list all elements of a Weyl group in SAGE ?
 A: This can be done in Sage yes! By default, Sage represents Weyl groups as matrix groups, but if you give it a prefix then it will give you the elements as products of simple reflections.
sage: W = WeylGroup(["A", 3], prefix = "s")
sage: list(W)
[1, s1*s2*s3*s2*s1, s1*s2*s3*s1, s1*s2*s3*s2, s1*s2*s1, s3*s1*s2*s1, s3,
s3*s1*s2, s1*s2, s2*s3*s1*s2*s1, s2*s3, s2*s3*s1*s2, s1, s2*s3*s2*s1,
s2*s3*s1, s2*s3*s2, s2*s1, s3*s2*s1, s3*s1, s3*s2, s2,
s1*s2*s3*s1*s2*s1, s1*s2*s3, s1*s2*s3*s1*s2]

Here s1, s2 and s3 are the simple reflections.
A: And this is how to do this in GAP:
gap> W:=WeylGroup(RootSystem(SimpleLieAlgebra("A",3,Rationals)));
<matrix group with 3 generators>
gap> it:= WeylOrbitIterator( W, [1,1,1] );;
gap> elms:= [ ];;
gap> while not IsDoneIterator( it ) do
> wt:= NextIterator(it); Add( elms, ConjugateDominantWeightWithWord(W,wt)[2]);
> od;
gap> elms;
[ [  ], [ 1, 2, 1, 3, 2, 1 ], [ 1 ], [ 1, 2, 1, 3, 2 ], [ 2, 1 ], 
  [ 1, 2, 3, 2 ], [ 3, 2, 1 ], [ 1, 3 ], [ 2, 1, 3, 2 ], [ 2, 1, 3 ], [ 2 ], 
  [ 1, 2, 3, 2, 1 ], [ 1, 2 ], [ 1, 2, 1, 3 ], [ 1, 2, 1 ], [ 1, 3, 2 ], 
  [ 3, 2 ], [ 2, 3, 2, 1 ], [ 3 ], [ 2, 1, 3, 2, 1 ], [ 2, 3 ], 
  [ 1, 3, 2, 1 ], [ 1, 2, 3 ], [ 2, 3, 2 ] ]

Elements are represented as lists of positive integers $i$, denoting the $i$-th simple reflection. For example, [ 3, 2, 1, 3, 1 ] represents the expression $s_3 s_2 s_1 s_3 s_1$.
