Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > 0c1f9463f03451b5503f0c33beb88a98 > files > 89

gap-system-4.4.12-5mdv2010.0.x86_64.rpm

<html><head><title>[new] 3 Quotient groups by homomorphisms</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>3 Quotient groups by homomorphisms</h1><p>
<P>
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP003.htm#SECT001">Creating hom cosets and quotient groups</a>
<li> <A HREF="CHAP003.htm#SECT002">Operations on hom cosets</a>
</ol><p>
<p>
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.
<p>
<strong>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.</strong>
<p>
<a name = ""></a>
<li><code>IsHomCoset( </code><var>obj</var><code> ) C</code>
<p>
<code>IsHomCoset</code> has one category for each kind of image (and corresponding
representations).
<p>
<a name = ""></a>
<li><code>IsHomCosetToPerm( </code><var>obj</var><code> ) C</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToPermRep( </code><var>obj</var><code> ) R</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToMatrix( </code><var>obj</var><code> ) C</code>
<p>
gdc - We need <code>HomCosetToMatrix</code> to be in same family as <code>Matrix</code>,
      so that <font face="Gill Sans,Helvetica,Arial">GAP</font> allows vector * for <code>HomCosetToMatrix</code>
      and other algorithms that take elements of the <code>HomCosetToMatrix</code>.
      Unfortunately, I don't know how to set the family correctly
      for compatibility.
<p>
<a name = ""></a>
<li><code>IsHomCosetToMatrixRep( </code><var>obj</var><code> ) R</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToFp( </code><var>obj</var><code> ) C</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToFpRep( </code><var>obj</var><code> ) R</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToTuple( </code><var>obj</var><code> ) C</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToTupleRep( </code><var>obj</var><code> ) R</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToAdditiveElt( </code><var>obj</var><code> ) C</code>
<p>
Here the image is an ADDITIVE group of matrices.
<p>
<a name = ""></a>
<li><code>IsHomCosetToAdditiveEltRep( </code><var>obj</var><code> ) R</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetToObjectRep( </code><var>obj</var><code> ) R</code>
<p>
The generic representation.
<p>
It also has one property for each kind of source.
<a name = ""></a>
<li><code>IsHomCosetOfPerm( </code><var>obj</var><code> ) P</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetOfMatrix( </code><var>obj</var><code> ) P</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetOfFp( </code><var>obj</var><code> ) P</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetOfTuple( </code><var>obj</var><code> ) P</code>
<p>
<a name = ""></a>
<li><code>IsHomCosetOfAdditiveElt( </code><var>obj</var><code> ) P</code>
<p>
<p>
<h2><a name="SECT001">3.1 Creating hom cosets and quotient groups</a></h2>
<p><p>
<a name = "SSEC001.1"></a>
<li><code>HomCoset( </code><var>hom</var><code>, </code><var>elt</var><code> ) F</code>
<p>
Creates a hom coset.  It is better to use one of the <code>QuotientGroupBy...</code>
functions.
<p>
<a name = "SSEC001.2"></a>
<li><code>HomCosetWithImage( </code><var>hom</var><code>, </code><var>srcElt</var><code>, </code><var>imgElt</var><code> ) F</code>
<p>
Creates a hom coset with given homomorphism <var>hom</var>, source element <var>srcElt</var>
and image element <var>imgElt</var>. 
It is better to use one of the <code>QuotientGroupBy...</code>  functions.
<p>
<a name = "SSEC001.3"></a>
<li><code>QuotientGroupHom( </code><var>hom</var><code> ) A</code>
<p>
The quotient group associated with the homomorphism <var>hom</var>.
It is better to use one of the <code>QuotientGroupBy...</code>  functions.
<p>
<a name = "SSEC001.4"></a>
<li><code>QuotientGroupByHomomorphism( </code><var>hom</var><code> ) F</code>
<p>
The quotient group associated with the homomorphism <var>hom</var>.
<p>
<a name = "SSEC001.5"></a>
<li><code>QuotientGroupByImages( </code><var>srcGroup</var><code>, </code><var>rangeGroup</var><code>, </code><var>srcGens</var><code>, </code><var>imgGens</var><code> ) F</code>
<p>
creates a quotient group from the homomorphism which takes maps 
<code></code><var>srcGens</var><code>[</code><var>i</var><code>]</code> in <var>srcGroup</var> to <code></code><var>imgGens</var><code>[</code><var>i</var><code>]</code> in <var>rangeGroup</var>.
<p>
<a name = "SSEC001.6"></a>
<li><code>QuotientGroupByImagesNC( </code><var>srcGroup</var><code>, </code><var>rangeGroup</var><code>, </code><var>srcGens</var><code>, </code><var>imgGens</var><code> ) F</code>
<p>
Same as <code>QuotientGroupByImages</code> (see&nbsp;<a href="CHAP003.htm#SSEC001.5">QuotientGroupByImages</a>) but without
checking that the homomorphism makes sense.
<p>
<p>
<h2><a name="SECT002">3.2 Operations on hom cosets</a></h2>
<p><p>
<a name = "SSEC002.1"></a>
<li><code>Homomorphism( </code><var>hcoset</var><code> ) O</code>
<li><code>Homomorphism( </code><var>Q</var><code> ) O</code>
<p>
The homomorphism of a hom coset <var>hcoset</var>, respectively a hom quotient 
group <var>Q</var>.
<p>
<a name = "SSEC002.2"></a>
<li><code>SourceElt( </code><var>hcoset</var><code> ) O</code>
<p>
The source element of a hom coset <var>hcoset</var>.
<p>
<a name = "SSEC002.3"></a>
<li><code>ImageElt( </code><var>hcoset</var><code> ) A</code>
<p>
The image element of a hom coset <var>hcoset</var>.
<p>
<a name = "SSEC002.4"></a>
<li><code>CanonicalElt( </code><var>hcoset</var><code> ) A</code>
<p>
A canonical element of a hom coset <var>hcoset</var>.  Note that SourceElt may be
different for non-identical equal cosets.  <code>CanonicalElt</code> 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.
<p>
<a name = "SSEC002.5"></a>
<li><code>Source( </code><var>Q</var><code> ) A</code>
<p>
Source group of a hom quotient group <var>Q</var>.
<p>
<a name = "SSEC002.6"></a>
<li><code>Range( </code><var>Q</var><code> ) A</code>
<p>
Range group of a hom quotient group <var>Q</var>.
<p>
<a name = "SSEC002.7"></a>
<li><code>ImagesSource( </code><var>Q</var><code> ) A</code>
<p>
Image group of a hom quotient group <var>Q</var>.
<p>
<p>
[<a href="../index.htm">Top</a>] [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<font face="Gill Sans,Helvetica,Arial">GAP 4 manual<br>December 2008
</font></body></html>