36.7 Transversals

  • RightTransversal( G, U ) O

    A right transversal t is a list of representatives for the set U \ G of right cosets (consisting of cosets Ug) of U in G.

    The object returned by RightTransversal is not a plain list, but an object that behaves like an immutable list of length [G :U ], except if U is the trivial subgroup of G in which case RightTransversal may return the sorted plain list of coset representatives.

    The operation PositionCanonical(t,g), called for a transversal t and an element g of G, will return the position of the representative in t that lies in the same coset of U as the element g does. (In comparison, Position will return fail if the element is not equal to the representative.) Functions that implement group actions such as Action or Permutation (see Chapter Group Actions) use PositionCanonical, therefore it is possible to ``act'' on a right transversal to implement the action on the cosets. This is often much more efficient than acting on cosets.

    gap> g:=Group((1,2,3,4),(1,2));;u:=Subgroup(g,[(1,2,3),(1,2)]);;
    gap> rt:=RightTransversal(g,u);
    RightTransversal(Group([(1,2,3,4),(1,2)]),Group([(1,2,3),(1,2)]))
    gap> Length(rt);
    4
    gap> Position(rt,(1,2,3));
    fail
    

    (Note that the elements of a right transversal are not necessarily ``canonical'' in the sense of CanonicalRightCosetElement (see CanonicalRightCosetElement). The command

    List(RightTransversal(G,U),i->CanonicalCosetElement(U,i));
    
    would compute a list of such canonical coset representatives.)

    The operation PositionCanonical is described in section PositionCanonical.

    gap> PositionCanonical(rt,(1,2,3));
    1
    gap> rt[1];
    ()
    

    [Top] [Previous] [Up] [Next] [Index]

    GAP 4 manual
    February 2000