DoubleCosets( G, U, V )
DoubleCosets
returns a list of the double cosets of the subgroups U and
V in the group G. The three groups G, U and V must have a common
parent. The list is not sorted, i.e., the double cosets may appear in
any order. The double cosets are domains as constructed by DoubleCoset
(see DoubleCoset).
gap> G := Group( (1,2), (1,2,3,4) );; gap> U := Subgroup( G, [ (1,2), (3,4) ] );; U.name := "U";; gap> DoubleCosets( G, U, U ); [ DoubleCoset( U, (), U ), DoubleCoset( U, (2,3), U ), DoubleCoset( U, (1,3)(2,4), U ) ]
DoubleCosets
calls G.operations.DoubleCoset( G, U, V )
and
returns that value.
The default function called this way is GroupOps.DoubleCosets
, which
takes random elements from G, tests if this element lies in one of the
already found double cosets, adds the double coset if this is not the
case, and continues this until the sum of the sizes of the found double
cosets equals the size of G. Look up DoubleCosets
in the index, to
see for which groups this function is overlaid.
GAP 3.4.4