<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>GAP (Gpd) - Chapter 3: Homomorphisms of many-object structures</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="generator" content="GAPDoc2HTML" /> <link rel="stylesheet" type="text/css" href="manual.css" /> </head> <body> <div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <div class="chlinkprevnexttop"> <a href="chap0.html">Top of Book</a> <a href="chap2.html">Previous Chapter</a> <a href="chap4.html">Next Chapter</a> </div> <p><a id="X85297B407ACAED81" name="X85297B407ACAED81"></a></p> <div class="ChapSects"><a href="chap3.html#X85297B407ACAED81">3 <span class="Heading">Homomorphisms of many-object structures</span></a> <div class="ContSect"><span class="nocss"> </span><a href="chap3.html#X82F856A086B93832">3.1 <span class="Heading">Homomorphisms of magmas with objects</span></a> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X86E00FEA7FF38FEA">3.1-1 MagmaWithObjectsHomomorphism</a></span> </div> </div> <h3>3 <span class="Heading">Homomorphisms of many-object structures</span></h3> <p>A <em>homomorphism</em> f from a magma with objects M to a magma with objects N consists of a map f_O from the objects of M to those of N together with a map f_A from the arrows of M to those of N which is compatible with tail and head and which preserves multiplication:</p> <p class="pcenter"> f_A((a : u \to v)*f(b : v \to w)) ~=~ f_A(a*b : u \to w) </p> <p>with tail f_O(u) and head f_O(v).</p> <p><a id="X82F856A086B93832" name="X82F856A086B93832"></a></p> <h4>3.1 <span class="Heading">Homomorphisms of magmas with objects</span></h4> <p><a id="X86E00FEA7FF38FEA" name="X86E00FEA7FF38FEA"></a></p> <h5>3.1-1 MagmaWithObjectsHomomorphism</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> MagmaWithObjectsHomomorphism</code>( <var class="Arg">args</var> )</td><td class="tdright">( function )</td></tr></table></div> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> MagmaHomomorphismFromSinglePiece</code>( <var class="Arg">src, rng, hom, imobs</var> )</td><td class="tdright">( operation )</td></tr></table></div> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> HomomorphismToSinglePiece</code>( <var class="Arg">src, rng, images</var> )</td><td class="tdright">( operation )</td></tr></table></div> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">> HomomorphismByUnion</code>( <var class="Arg">src, rng, homs</var> )</td><td class="tdright">( operation )</td></tr></table></div> <p>As usual, there are a variety of homomorphism constructors. The basic construction is a homomorphism M -> N with both M and N connected, which is implemented as <code class="code">IsHomomorphismToSinglePieceRep</code> with attributes <code class="code">Source</code>, <code class="code">Range</code> and <code class="code">PieceImages</code>. We require the following information:</p> <ul> <li><p>a magma homomorphism <code class="code">f</code> from the underlying of M to the underlying magma of N.</p> </li> <li><p>a list <code class="code">imobs</code> of the images of the objects of M;</p> </li> </ul> <p>In the example we construct endomappings of m and M78.</p> <table class="example"> <tr><td><pre> gap> tup1 := [ Tuple([m1,m2]), Tuple([m2,m1]), Tuple([m3,m4]), Tuple([m4,m3]) ]; gap> f1 := GeneralMappingByElements( m, m, tup1 ); f1 = <general mapping: m -> m > gap> IsMagmaHomomorphism( f1 ); true gap> tup2 := [ Tuple([m1,m1]), Tuple([m2,m1]), Tuple([m3,m1]), Tuple([m4,m1]) ];; gap> f2 := GeneralMappingByElements( m, m, tup2 );; gap> IsMagmaHomomorphism( f2 ); true gap> map1 := HomomorphismFromSinglePiece( M78, M78, [-8,-7], f1 ); magma with objects homomorphism : M78 -> M78 gap> Display( map1 ); Mapping to single piece magma: [ M78 ] -> [ M78 ] magma mapping: <mapping: m -> m > object map: [ -8, -7 ] -> [ -8, -7 ] Homomorphism to connected magma: [ M78 ] -> [ M78 ] object map = [ [ -8, -7 ], [ -8, -7 ] ] homomorphism = <homomorphism: m -> m > gap> idm := f1*f1;; gap> idmap := HomomorphismFromSinglePiece( M78, M78, idm, [-7,-8] ); gap> map2 := HomomorphismFromSinglePiece( M78, M78, f2, [-7,-8] ); </pre></td></tr></table> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap2.html">Previous Chapter</a> <a href="chap4.html">Next Chapter</a> </div> <div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a> <a href="chap1.html">1</a> <a href="chap2.html">2</a> <a href="chap3.html">3</a> <a href="chap4.html">4</a> <a href="chap5.html">5</a> <a href="chap6.html">6</a> <a href="chap7.html">7</a> <a href="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div> <hr /> <p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p> </body> </html>