Double cosets are domains, thus all set theoretic functions are applicable to double cosets (see chapter Domains). The following describes the functions that are implemented especially for double cosets. Functions not mentioned here inherit the default functions mentioned in the respective sections.
More technically speaking, double cosets of generic groups have the
operations record DoubleCosetGroupOps
, which inherits its functions
from DomainOps
and overlays the components mentioned below with more
efficient functions.
Most functions below use the component D.rightCosets
that contains a
list of right cosets of the left group U whose union is this double
coset. If this component is unbound they will compute it by computing
the orbit of the right group V on the right coset U * u
, where
Double Coset Records).
Elements( D )
To compute the proper set of elements the union of the right cosets
D.rightCosets
is computed.
IsFinite( D )
This returns the result of IsFinite( U ) and IsFinite( V )
.
Size( D )
This returns the size of the left group U times the number of cosets in
D.rightCosets
.
C = D
If C and D are both double cosets with the same left and right groups
this returns the result of testing whether the representative of C lies
in D. In other cases the test is delegated to DomainOps.=
.
g in D
If g is an element of the parent group of the left and right group of
D, this returns true
if g lies in one of the right cosets in
D.rightCosets
. In other cases the the test is delegated to
DomainOps.in
.
Intersection( C, D )
If C and D are both double cosets that are equal, this returns C.
If C and D are both double cosets with the same left and right groups
that are not equal, this returns []
. In all other cases the
computation is delegated to DomainsOps.Intersection
.
Random( D )
This takes a random right coset from D.rightCosets
and returns the
result of applying Random
to this right coset.
Print( D )
This prints the double coset in the form DoubleCoset( U, u, V )
.
D * g
g * D
Those returns the result of multiplying the proper set of element of D with the element g, which may signal an error.
GAP 3.4.4