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

# 3 Quotient groups by homomorphisms

### Sections

1. Creating hom cosets and quotient groups
2. Operations on hom cosets

Given a group homomorphism, the cosets of its kernel correspond to elements in the image. Our hom coset representation stores the homomorphism and the element in the source group. The image is an attribute which is computed as necessary. Two cosets are equal if their images are the same. Where ever practical a coset is identified with its image. For example, if the homomorphism maps into a permutation group, the cosets are considered to be permutations. Since cosets can be multiplied, we can use them to form a quotient group. Any computation in this quotient group will be ``shadowed'' in the source group.

The functions and operations described in this chapter have been added very recently and are still undergoing development. It is conceivable that names of variants of the functionality might change in future versions. If you plan to use these functions in your own code, please contact us.

- `IsHomCoset(` obj`) C`

  `IsHomCoset` has one category for each kind of image (and corresponding representations).

- `IsHomCosetToPerm(` obj`) C`

- `IsHomCosetToPermRep(` obj`) R`

- `IsHomCosetToMatrix(` obj`) C`

  gdc - We need `HomCosetToMatrix` to be in same family as `Matrix`, so that GAP allows vector * for `HomCosetToMatrix` and other algorithms that take elements of the `HomCosetToMatrix`. Unfortunately, I don't know how to set the family correctly for compatibility.

- `IsHomCosetToMatrixRep(` obj`) R`

- `IsHomCosetToFp(` obj`) C`

- `IsHomCosetToFpRep(` obj`) R`

- `IsHomCosetToTuple(` obj`) C`

- `IsHomCosetToTupleRep(` obj`) R`

- `IsHomCosetToAdditiveElt(` obj`) C`

  Here the image is an ADDITIVE group of matrices.

- `IsHomCosetToAdditiveEltRep(` obj`) R`

- `IsHomCosetToObjectRep(` obj`) R`

  The generic representation.

  It also has one property for each kind of source.

- `IsHomCosetOfPerm(` obj`) P`

- `IsHomCosetOfMatrix(` obj`) P`

- `IsHomCosetOfFp(` obj`) P`

- `IsHomCosetOfTuple(` obj`) P`

- `IsHomCosetOfAdditiveElt(` obj`) P`

  ## 3.1 Creating hom cosets and quotient groups

- `HomCoset(` hom`,` elt`) F`

  Creates a hom coset. It is better to use one of the `QuotientGroupBy...` functions.

- `HomCosetWithImage(` hom`,` srcElt`,` imgElt`) F`

  Creates a hom coset with given homomorphism hom, source element srcElt and image element imgElt. It is better to use one of the `QuotientGroupBy...` functions.

- `QuotientGroupHom(` hom`) A`

  The quotient group associated with the homomorphism hom. It is better to use one of the `QuotientGroupBy...` functions.

- `QuotientGroupByHomomorphism(` hom`) F`

  The quotient group associated with the homomorphism hom.

- `QuotientGroupByImages(` srcGroup`,` rangeGroup`,` srcGens`,` imgGens`) F`

  creates a quotient group from the homomorphism which takes maps ``srcGens`[`i`]` in srcGroup to ``imgGens`[`i`]` in rangeGroup.

- `QuotientGroupByImagesNC(` srcGroup`,` rangeGroup`,` srcGens`,` imgGens`) F`

  Same as `QuotientGroupByImages` (see QuotientGroupByImages) but without checking that the homomorphism makes sense.

  ## 3.2 Operations on hom cosets

- `Homomorphism(` hcoset`) O`
- `Homomorphism(` Q`) O`

  The homomorphism of a hom coset hcoset, respectively a hom quotient group Q.

- `SourceElt(` hcoset`) O`

  The source element of a hom coset hcoset.

- `ImageElt(` hcoset`) A`

  The image element of a hom coset hcoset.

- `CanonicalElt(` hcoset`) A`

  A canonical element of a hom coset hcoset. Note that SourceElt may be different for non-identical equal cosets. `CanonicalElt` gives the same element for different representation of a coset. This will compute a chain for the range group if one does not already exist.

- `Source(` Q`) A`

  Source group of a hom quotient group Q.

- `Range(` Q`) A`

  Range group of a hom quotient group Q.

- `ImagesSource(` Q`) A`

  Image group of a hom quotient group Q.

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

  GAP 4 manual
  March 2004