Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/groupoids/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 11.8.2025 mit Größe 43 kB image not shown  

Quelle  chap5.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/groupoids/doc/chap5.html


<?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 (groupoids) - Chapter 5: Homomorphisms of Groupoids</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" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap5"  onload="jscontent()">


<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="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</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="chap0.html#contents">[Contents]</a>    <a href="chap4.html">[Previous Chapter]</a>    <a href="chap6.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap5_mj.html">[MathJax on]</a></p>
<p><a id="X879ED2A7878B5A7A" name="X879ED2A7878B5A7A"></a></p>
<div class="ChapSects"><a href="chap5.html#X879ED2A7878B5A7A">5 <span class="Heading">Homomorphisms of Groupoids</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X85D28690823636CD">5.1 <span class="Heading">Homomorphisms from a connected groupoid</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X870288C6803D9005">5.1-1 GroupoidHomomorphismFromSinglePiece</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X7BFF46FD8308846F">5.2 <span class="Heading">Properties and attributes of groupoid homomorphisms</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X83DDA9528396451A">5.2-1 <span class="Heading">Properties of a groupoid homomorphism</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X870565948381B921">5.2-2 <span class="Heading">Attributes of a groupoid homomorphism</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X85A99D8A83511DDE">5.2-3 RootGroupHomomorphism</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X837EEB9578EA1A78">5.2-4 ImagesOfObjects</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X791DC3F3852A6422">5.2-5 ImageElementsOfRays</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8391526C7A02FF19">5.2-6 MappingToSinglePieceData</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7C6775A178DB9D39">5.2-7 ObjectGroupHomomorphism</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X7DBC80D8817CDA04">5.3 <span class="Heading">Special types of groupoid homomorphism</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X855DB6C8815CDCC3">5.3-1 InclusionMappingGroupoids</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7946BC207D455A98">5.3-2 RestrictedMappingGroupoids</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X83B8AB6D7C9DB264">5.3-3 IsomorphismNewObjects</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X87C54BB581181400">5.3-4 IsomorphismStandardGroupoid</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7CF33CCD8278A904">5.3-5 IsomorphismPermGroupoid</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X7EAAB2A97E097FB6">5.4 <span class="Heading">Homomorphisms to a connected groupoid</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X8700B5977B2513C1">5.4-1 HomomorphismToSinglePiece</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X87225D86785DEBC2">5.4-2 GroupoidHomomorphismFromHomogeneousDiscrete</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap5.html#X795C8DE37AED7B44">5.5 <span class="Heading">Homomorphisms to more than one piece</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X847094F478113EA6">5.5-1 HomomorphismByUnion</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap5.html#X7E2C6BCC7AAB25BE">5.5-2 IsomorphismGroupoids</a></span>
</div></div>
</div>

<h3>5 <span class="Heading">Homomorphisms of Groupoids</span></h3>

<p>A <em>homomorphism</em> <span class="SimpleMath">m</span> from a groupoid <span class="SimpleMath">G</span> to a groupoid <span class="SimpleMath">H</span> consists of a map from the objects of <span class="SimpleMath">G</span> to those of <span class="SimpleMath">H</span> together with a map from the elements of <span class="SimpleMath">G</span> to those of <span class="SimpleMath">H</span> which is compatible with tail and head and which preserves multiplication:</p>

<p class="pcenter">
m(g1 : o1 \to o2)*m(g2 : o2 \to o3) ~=~ m(g1*g2 : o1 \to o3).
</p>

<p>Note that when a homomorphism is not injective on objects, the image of the source need not be a subgroupoid of the range. A simple example of this is given by a homomorphism from the two-object, four-element groupoid with trivial group to the free group <span class="SimpleMath">⟨ a ⟩</span> on one generator, when the image is <span class="SimpleMath">[1,a^n,a^-n]</span> for some <span class="SimpleMath">n>0</span>.</p>

<p>A variety of homomorphism operations are available.</p>


<ul>
<li><p>The basic construction is a homomorphism <span class="SimpleMath">ϕ : G -> H</span> <em>from</em> a connected groupoid <span class="SimpleMath">G</span> to a connected groupoid <span class="SimpleMath">H</span>, constructed using <code class="code">GroupoidHomomorphismFromSinglePiece</code>, (see <a href="chap5.html#X85D28690823636CD"><span class="RefLink">5.1</span></a>).</p>

</li>
<li><p>Since more than one connected groupoid may be mapped <em>to</em> the same range, we then have the operation <code class="code">GroupoidHomomorphismToSinglePiece</code>, (see <a href="chap5.html#X7EAAB2A97E097FB6"><span class="RefLink">5.4</span></a>).</p>

</li>
<li><p>The third case arises when both source and range are unions of connected groupoids, in which case <code class="code">HomomorphismByUnion</code> is called, (see <a href="chap5.html#X795C8DE37AED7B44"><span class="RefLink">5.5</span></a>).</p>

</li>
<li><p>Fourthly, there are is an additional operation for the case where the source is homogeneous and discrete, <code class="code">GroupoidHomomorphismFromHomogeneousDiscrete</code>, (see <a href="chap5.html#X87225D86785DEBC2"><span class="RefLink">5.4-2</span></a>).</p>

</li>
<li><p>Finally, there are special operations for inclusion mappings, restricted mappings (see <a href="chap5.html#X7DBC80D8817CDA04"><span class="RefLink">5.3</span></a>). and groupoid automorphisms (see <a href="chap6.html#X803E01577A2B37D2"><span class="RefLink">6</span></a>).</p>

</li>
</ul>
<p><a id="X85D28690823636CD" name="X85D28690823636CD"></a></p>

<h4>5.1 <span class="Heading">Homomorphisms from a connected groupoid</span></h4>

<p><a id="X870288C6803D9005" name="X870288C6803D9005"></a></p>

<h5>5.1-1 GroupoidHomomorphismFromSinglePiece</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupoidHomomorphismFromSinglePiece</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">gens</var>, <var class="Arg">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">‣ GroupoidHomomorphism</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">‣ IsGroupoidHomomorphism</code>( <var class="Arg">mwohom</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>The simplest groupoid homomorphism is a mapping <span class="SimpleMath">ϕ : G -> H</span> from a connected groupoid <span class="SimpleMath">G</span> to a connected groupoid <span class="SimpleMath">H</span>. There are two equivalent sets of input data which may be used. Both require the <code class="code">Source</code> <span class="SimpleMath">G</span> and the <code class="code">Range</code> <span class="SimpleMath">H</span>. The first then requires:</p>


<ul>
<li><p>the set of generating arrows, <code class="code">genG = GeneratorsOfGroupoid(G)</code>;</p>

</li>
<li><p>a list of image arrows <code class="code">imphi</code> in <span class="SimpleMath">H</span>.</p>

</li>
</ul>
<p>This may be implemented by the call <code class="code">GroupoidHomomorphismFromSinglePiece(G,H,genG,imphi)</code>, and the data is stored in the attribute <code class="code">MappingGeneratorsImages</code>. Alternatively, use the global function <code class="code">GroupoidHomomorphism</code> with the same four parameters.</p>

<p>The alternative input data consists of:</p>


<ul>
<li><p>a homomorphism <code class="code">rhom</code> from the root group of <span class="SimpleMath">G</span> to the group at the image object in <span class="SimpleMath">H</span>;</p>

</li>
<li><p>a list <code class="code">imobs</code> of the images of the objects of <span class="SimpleMath">G</span>;</p>

</li>
<li><p>a list <code class="code">imrays</code> of the elements in the images of the rays of <span class="SimpleMath">G</span>, so that the image <span class="SimpleMath">ϕ(r_i : o_1 -> o_i)</span> of the <span class="SimpleMath">i</span>-th ray is <code class="code">(imrays[i]:imobs[1]</code><span class="SimpleMath">-></span><code class="code">imobs[i])</code>.</p>

</li>
</ul>
<p>This data is stored in the attribute <code class="code">MappingToSinglePieceData</code>.</p>

<p>So an alternative way to construct this homomorphism of groupoids is to make a call of the form <code class="code">GroupoidHomomorphism(G,H,rhom,imobs,imrays)</code>.</p>

<p>In the following example the same homomorphism is constructed using both methods.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Kk4 := SubgroupoidWithRays( Ha4, k4, [ (), (1,3,4), (1,4)(2,3) ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Kk4, "Kk4" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gen1 := GeneratorsOfGroupoid( Gd8 ); </span>
[ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
  [() : -9 -> -7] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gen2 := GeneratorsOfGroupoid( Kk4 ); </span>
[ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
  [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">images := [ gen2[1]*gen2[2], gen2[1]^2, gen2[3], gen2[4] ];</span>
[ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13],
 [(1,4)(2,3) : -14 -> -12] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">hom8 := GroupoidHomomorphismFromSinglePiece( Gd8, Kk4, gen1, images );</span>
groupoid homomorphism : Gd8 -> Kk4
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gend8 := GeneratorsOfGroup( d8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">imh := [ (1,4)(2,3), () ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">h := GroupHomomorphismByImages( d8, a4, gend8, imh );                     </span>
[ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ]
<span class="GAPprompt">gap></span> <span class="GAPinput">hom9 := GroupoidHomomorphism( Gd8, Kk4, h, [-14,-13,-12],</span>
<span class="GAPprompt">></span> <span class="GAPinput">                [ (), (1,3,4), (1,4)(2,3) ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hom8 = hom9;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">e1 := Arrow( Gd8, (5,6,7,8), -7, -8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( hom8, e1 );</span>
[(1,3,4) : -12 -> -13]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsGroupoidHomomorphism( hom8 );</span>
true

</pre></div>

<p><a id="X7BFF46FD8308846F" name="X7BFF46FD8308846F"></a></p>

<h4>5.2 <span class="Heading">Properties and attributes of groupoid homomorphisms</span></h4>

<p><a id="X83DDA9528396451A" name="X83DDA9528396451A"></a></p>

<h5>5.2-1 <span class="Heading">Properties of a groupoid homomorphism</span></h5>

<p>The properties listed in subsection <a href="chap3.html#X795C8DE37AED7B44"><span class="RefLink">3.3</span></a> for homomorphisms of magmas with objects also apply to groupoid homomorphisms.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsInjectiveOnObjects( hom8 ), IsSurjectiveOnObjects( hom8 ) ]; </span>
[ true, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsInjective( hom8 ), IsSurjective( hom8 ) ];</span>
[ false, false ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ad8 := GroupHomomorphismByImages( d8, d8, </span>
<span class="GAPprompt">></span> <span class="GAPinput">              [ (5,6,7,8), (5,7) ], [ (5,8,7,6), (6,8) ] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">md8 := GroupoidHomomorphism( Gd8, Gd8, ad8,</span>
<span class="GAPprompt">></span> <span class="GAPinput">              [-7,-9,-8], [(),(5,7),(6,8)] );</span>
groupoid homomorphism : Gd8 -> Gd8
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(5,8,7,6) : -7 -> -7], [(6,8) : -7 -> -7], [(5,7) : -7 -> -9], 
      [(6,8) : -7 -> -8] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsBijectiveOnObjects( md8 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsInjective( md8 ), IsSurjective( md8 ) ];  </span>
[ true, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsEndomorphismWithObjects( md8 ), IsAutomorphismWithObjects( md8 ) ];</span>
[ true, true ]

</pre></div>

<p><a id="X870565948381B921" name="X870565948381B921"></a></p>

<h5>5.2-2 <span class="Heading">Attributes of a groupoid homomorphism</span></h5>

<p>The attributes of a groupoid homomorphism <code class="code">mor</code> from a single piece groupoid cover both forms of construction defined above.</p>


<ul>
<li><p><code class="code">S = Source(mor)</code> is the source groupoid of the homomorphism;</p>

</li>
<li><p><code class="code">R = Range(mor)</code> is the range groupoid of the homomorphism;</p>

</li>
<li><p><code class="code">RootGroupHomomorphism(mor)</code> is the group homomorphism from the root group of <code class="code">S</code> to the group at the image object in <code class="code">R</code> of the root object in <code class="code">S</code>;</p>

</li>
<li><p><code class="code">ImagesOfObjects(mor)</code> is the list of objects in <code class="code">R</code> which are the images of the objects in <code class="code">S</code>;</p>

</li>
<li><p><code class="code">ImageElementsOfRays(mor)</code> is the list of group elements in those arrows in <code class="code">R</code> which are the images of the rays in <code class="code">S</code>;</p>

</li>
<li><p><code class="code">MappingGeneratorsImages(mor)</code> is the two element list containing the list of generators in <code class="code">S</code> and the list of their images in <code class="code">R</code>;</p>

</li>
<li><p><code class="code">MappingToSinglePieceData(mor)</code> is a list with three elements: the root group homomorphism; the images of the objects; and the images of the rays.</p>

</li>
</ul>
<p>For other types of homomorphism the attributes are very similar.</p>

<p>The function <code class="code">ObjectGroupHomomorphism</code>, though an operation, is included in this section for convenience.</p>

<p><a id="X85A99D8A83511DDE" name="X85A99D8A83511DDE"></a></p>

<h5>5.2-3 RootGroupHomomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RootGroupHomomorphism</code>( <var class="Arg">hom</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This is the group homomorphism from the root group of the source groupoid to the group at the image object in the range groupoid of the root object in the source.</p>

<p><a id="X837EEB9578EA1A78" name="X837EEB9578EA1A78"></a></p>

<h5>5.2-4 ImagesOfObjects</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ImagesOfObjects</code>( <var class="Arg">hom</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This is the list of objects in the range groupoid which are the images of the objects in the source.</p>

<p><a id="X791DC3F3852A6422" name="X791DC3F3852A6422"></a></p>

<h5>5.2-5 ImageElementsOfRays</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ImageElementsOfRays</code>( <var class="Arg">hom</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This is the list of group elements in those arrows in the range groupoid which are the images of the rays in the source.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">RootGroupHomomorphism( hom8 );</span>
[ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImagesOfObjects( hom8 );</span>
[ -14, -13, -12 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElementsOfRays( hom8 );</span>
[ (), (1,3,4), (1,4)(2,3) ]

</pre></div>

<p><a id="X8391526C7A02FF19" name="X8391526C7A02FF19"></a></p>

<h5>5.2-6 MappingToSinglePieceData</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MappingToSinglePieceData</code>( <var class="Arg">map</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>As mentioned earlier, this attribute stores the root group homomorphism; a list of the images of the objects; and a list of the elements in the images of the rays.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">MappingGeneratorsImages( hom8 );</span>
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">MappingToSinglePieceData( hom8 );</span>
[ [ [ (5,6,7,8), (5,7) ] -> [ (1,4)(2,3), () ], [ -14, -13, -12 ], 
      [ (), (1,3,4), (1,4)(2,3) ] ] ]

</pre></div>

<p><a id="X7C6775A178DB9D39" name="X7C6775A178DB9D39"></a></p>

<h5>5.2-7 ObjectGroupHomomorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ObjectGroupHomomorphism</code>( <var class="Arg">gpdhom</var>, <var class="Arg">obj</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>For a given groupoid homomorphism, this operation gives the group homomorphism from an object group of the source to the object group at the image object in the range.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">ObjectGroupHomomorphism( hom8, -8 );</span>
[ (5,6,7,8), (5,7) ] -> [ (1,3)(2,4), () ]

</pre></div>

<p><a id="X7DBC80D8817CDA04" name="X7DBC80D8817CDA04"></a></p>

<h4>5.3 <span class="Heading">Special types of groupoid homomorphism</span></h4>

<p>In this section we mention inclusion mappings of subgroupoids; and mappings restricted to a source subgroupoid. We also discuss various types of isomorphism: to a different set of objects; to a permutation groupoid; to a pc-groupoid.</p>

<p><a id="X855DB6C8815CDCC3" name="X855DB6C8815CDCC3"></a></p>

<h5>5.3-1 InclusionMappingGroupoids</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InclusionMappingGroupoids</code>( <var class="Arg">gpd</var>, <var class="Arg">sgpd</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The operation <code class="code">InclusionMappingGroupoids(gpd,sgpd)</code> returns the inclusion homomorphism from the subgroupoid <code class="code">sgpd</code> to <code class="code">gpd</code>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">incKk4 := InclusionMappingGroupoids( Ha4, Kk4 );     </span>
groupoid homomorphism : Kk4 -> Ha4
[ [ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
      [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ], 
  [ [(1,2)(3,4) : -14 -> -14], [(1,3)(2,4) : -14 -> -14], 
      [(1,3,4) : -14 -> -13], [(1,4)(2,3) : -14 -> -12] ] ]

</pre></div>

<p>For another example, refer back to subsection <code class="func">PiecePositions</code> (<a href="chap4.html#X78C7A83980BAE937"><span class="RefLink">4.3-5</span></a>).</p>

<p><a id="X7946BC207D455A98" name="X7946BC207D455A98"></a></p>

<h5>5.3-2 RestrictedMappingGroupoids</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RestrictedMappingGroupoids</code>( <var class="Arg">mor</var>, <var class="Arg">sgpd</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">‣ ParentMappingGroupoids</code>( <var class="Arg">mor</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The operation <code class="code">RestrictedMappingGroupoids(mor,sgpd)</code> returns the restriction of the homomorphism <code class="code">mor</code> to the subgroupoid <code class="code">sgpd</code> of its source. The range is usually set to the <code class="code">ImagesSource</code> of the restriction. The restriction is assigned the attribute <code class="code">ParentMappingGroupoids</code> with value <code class="code">mor</code> (or that of <code class="code">mor</code> is one exists). For another example see section <a href="chap6.html#X8003AF117B956D16"><span class="RefLink">6.2</span></a>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Gc4 := Subgroupoid( Gd8, c4 );;  SetName( Gc4, "Gc4" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">res4 := RestrictedMappingGroupoids( hom8, Gc4 );</span>
groupoid homomorphism : 
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ParentMappingGroupoids( res4 ) = hom8; </span>
true

</pre></div>

<p><a id="X83B8AB6D7C9DB264" name="X83B8AB6D7C9DB264"></a></p>

<h5>5.3-3 IsomorphismNewObjects</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsomorphismNewObjects</code>( <var class="Arg">src</var>, <var class="Arg">objlist</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The operation <code class="code">IsomorphismNewObjects(gpd,obs)</code> returns the isomorphism from a groupoid <code class="code">gpd</code> to a groupoid with the same object group and ray elements but with a different set <code class="code">obs</code> of objects.</p>

<p>We then compute the composite homomorphism, <code class="code"> mor8 : Gd8 -> Kk4 -> Ha4 -> Ga4</code>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">isoHa4 := IsomorphismNewObjects( Ha4, [-30,-29,-28] );</span>
groupoid homomorphism : 
[ [ [(1,2,3) : -14 -> -14], [(2,3,4) : -14 -> -14], [() : -14 -> -13], 
      [() : -14 -> -12] ], 
  [ [(1,2,3) : -30 -> -30], [(2,3,4) : -30 -> -30], [() : -30 -> -29], 
      [() : -30 -> -28] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Ka4 := Range( isoHa4 );  SetName( Ka4, "Ka4" );</span>
single piece groupoid: < a4, [ -30, -29, -28 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubgroupoid( Gk4, Kk4 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">incHa4 := InclusionMappingGroupoids( Ga4, Ha4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mor8 := hom8 * incKk4 * incHa4;                 </span>
groupoid homomorphism : Gd8 -> Ga4
[ [ [(5,6,7,8) : -9 -> -9], [(5,7) : -9 -> -9], [() : -9 -> -8], 
      [() : -9 -> -7] ], 
  [ [(1,4)(2,3) : -14 -> -14], [() : -14 -> -14], [(1,3,4) : -14 -> -13], 
      [(1,4)(2,3) : -14 -> -12] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( mor8, e1 );</span>
[(1,3,4) : -12 -> -13]

</pre></div>

<p><a id="X87C54BB581181400" name="X87C54BB581181400"></a></p>

<h5>5.3-4 IsomorphismStandardGroupoid</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsomorphismStandardGroupoid</code>( <var class="Arg">gpd</var>, <var class="Arg">obs</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The operation <code class="code">IsomorphismStandardGroupoid(gpd,obs)</code> returns the isomorphism from a groupoid with rays to the groupoid of type <code class="code">IsDirectProductWithCompleteDigraphDomain</code> on the given set <code class="code">obs</code> of objects. <code class="code">Gk4</code>, a subgroupoid of <code class="code">Ga4</code>, was our first example of a groupoid with rays (see <code class="func">SubgroupoidWithRays</code> (<a href="chap4.html#X873E0914871858E8"><span class="RefLink">4.3-3</span></a>)), and a standard isomorphic copy is formed here.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">isoGk4 := IsomorphismStandardGroupoid( Gk4, [-45..-41] );</span>
groupoid homomorphism : 
[ [ [(1,2)(3,4) : -15 -> -15], [(1,3)(2,4) : -15 -> -15], 
      [(1,2,3) : -15 -> -14], [(1,2,4) : -15 -> -13], [(1,3,4) : -15 -> -12], 
      [(2,3,4) : -15 -> -11] ], 
  [ [(1,2)(3,4) : -45 -> -45], [(1,3)(2,4) : -45 -> -45], [() : -45 -> -44], 
      [() : -45 -> -43], [() : -45 -> -42], [() : -45 -> -41] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">G2k4 := Image( isoGk4 );  SetName( G2k4, "G2k4" );</span>
single piece groupoid: < k4, [ -45 .. -41 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">e5 := Arrow( Gk4, (1,2,4) , -13, -12 );</span>
[(1,2,4) : -13 -> -12]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( isoGk4, e5 );</span>
[(1,3)(2,4) : -43 -> -42]
<span class="GAPprompt">gap></span> <span class="GAPinput">invGk4 := InverseGeneralMapping( isoGk4 );</span>
groupoid homomorphism : 
[ [ [(1,2)(3,4) : -45 -> -45], [(1,3)(2,4) : -45 -> -45], [() : -45 -> -44], 
      [() : -45 -> -43], [() : -45 -> -42], [() : -45 -> -41] ], 
  [ [(1,2)(3,4) : -15 -> -15], [(1,3)(2,4) : -15 -> -15], 
      [(1,2,3) : -15 -> -14], [(1,2,4) : -15 -> -13], [(1,3,4) : -15 -> -12], 
      [(2,3,4) : -15 -> -11] ] ]

</pre></div>

<p>This operation may also be used to provide a standard form for groupoids of type <code class="code">IsGroupoidByIsomorphisms</code> as described in subsection <code class="func">GroupoidByIsomorphisms</code> (<a href="chap4.html#X7B066DE28574A768"><span class="RefLink">4.6-1</span></a>).</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G2;</span>
single piece groupoid with rays: < s3a, [ -6, -5, -4 ], 
[ [ (), () ], [ (), <identity> of ... ], [ (), <identity ...> ] ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">isoG2 := IsomorphismStandardGroupoid( G2, [-44,-43,-42] ); </span>
groupoid homomorphism : 
[ [ [[ (1,2), (1,2) ] : -6 -> -6], [[ (2,3), (2,3) ] : -6 -> -6], 
      [[ (), <identity> of ... ] : -6 -> -5], [[ (), <identity ...> ] : -6 -> 
        -4] ], 
  [ [(1,2) : -44 -> -44], [(2,3) : -44 -> -44], [() : -44 -> -43], 
      [() : -44 -> -42] ] ]

</pre></div>

<p><a id="X7CF33CCD8278A904" name="X7CF33CCD8278A904"></a></p>

<h5>5.3-5 IsomorphismPermGroupoid</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsomorphismPermGroupoid</code>( <var class="Arg">gpd</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RegularActionHomomorphismGroupoid</code>( <var class="Arg">gpd</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsomorphismPcGroupoid</code>( <var class="Arg">gpd</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The attribute <code class="code">IsomorphismPermGroupoid(gpd)</code> returns an isomorphism from a groupoid <code class="code">gpd</code> to a groupoid with the same objects but with an isomorphic permutation group.</p>

<p>The attribute <code class="code">RegularActionHomomorphismGroupoid</code> returns an isomorphism from a groupoid <code class="code">gpd</code> to a groupoid with the same objects but with an isomorphic regular presentation. In the example below these two operations produce equivalent permutation groupoids. Only the second is printed as the first is liable to change from one run to the next.</p>

<p>Similarly, the attribute <code class="code">IsomorphismPcGroupoid(gpd)</code> attempts to return an isomorphism from the group to a pc-group with the same objects.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">isoGq8 := IsomorphismPermGroupoid( Gq8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">regGq8 := RegularActionHomomorphismGroupoid( Gq8 );</span>
groupoid homomorphism : 
[ [ [x : -19 -> -19], [y : -19 -> -19], [y2 : -19 -> -19], 
      [<identity> of ... : -19 -> -18], [<identity> of ... : -19 -> -17] ], 
  [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [(1,3,4,7)(2,5,6,8) : -19 -> -19], 
      [(1,4)(2,6)(3,7)(5,8) : -19 -> -19], [() : -19 -> -18], 
      [() : -19 -> -17] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Pq8 := Image( regGq8 );  SetName( Pq8, "Pq8" );</span>
single piece groupoid: < Group( [ (1,2,4,6)(3,8,7,5), (1,3,4,7)(2,5,6,8), 
  (1,4)(2,6)(3,7)(5,8) ] ), [ -19, -18, -17 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">e7 := Arrow( Gq8, x*y, -18, -17 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( regGq8, e7 );</span>
[(1,5,4,8)(2,7,6,3) : -18 -> -17]
<span class="GAPprompt">gap></span> <span class="GAPinput">Gc4 := Subgroupoid( Gd8, c4 );  SetName( Gc4, "Gc4" );</span>
single piece groupoid: < c4, [ -9, -8, -7 ] >
<span class="GAPprompt">gap></span> <span class="GAPinput">isoGc4 := IsomorphismPcGroupoid( Gc4 );</span>
groupoid homomorphism : 
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [f1 : -9 -> -9], [<identity> of ... : -9 -> -8], 
      [<identity> of ... : -9 -> -7] ] ]
      [<identity> of ... : -9 -> -7] ] ]

</pre></div>

<p><a id="X7EAAB2A97E097FB6" name="X7EAAB2A97E097FB6"></a></p>

<h4>5.4 <span class="Heading">Homomorphisms to a connected groupoid</span></h4>

<p><a id="X8700B5977B2513C1" name="X8700B5977B2513C1"></a></p>

<h5>5.4-1 HomomorphismToSinglePiece</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomomorphismToSinglePiece</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">piecehoms</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>When <span class="SimpleMath">G</span> is made up of two or more pieces, all of which get mapped to a connected groupoid, we have a <em>homomorphism to a single piece</em>. The third input parameter in this case is a list of the individual homomorphisms <em>from</em> the single pieces (in the correct order!). See section <a href="chap3.html#X82F856A086B93832"><span class="RefLink">3.1</span></a> for the corresponding operation on homomorphisms of magmas with objects.</p>

<p>In the following example the source <code class="code">V2</code> of <code class="code">homV2</code> has two pieces, and both of the component homomorphisms are isomorphisms.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">V2 := UnionOfPieces( Gq8, Gc4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">imGc4 := [ genPq8[1], genPq8[4], genPq8[5] ];</span>
[ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], [() : -19 -> -17] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">homGc4 := GroupoidHomomorphism( Gc4, Pq8, genGc4, imGc4 );</span>
groupoid homomorphism : Gc4 -> Pq8
[ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
  [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], [() : -19 -> -17] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">homV2 := HomomorphismToSinglePiece( V2, Pq8, [ regGq8, homGc4 ] );</span>
groupoid homomorphism : 
[ [ [ [x : -19 -> -19], [y : -19 -> -19], [y2 : -19 -> -19], 
          [<identity> of ... : -19 -> -18], [<identity> of ... : -19 -> -17] ], 
      [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [(1,3,4,7)(2,5,6,8) : -19 -> -19], 
          [(1,4)(2,6)(3,7)(5,8) : -19 -> -19], [() : -19 -> -18], 
          [() : -19 -> -17] ] ], 
  [ [ [(5,6,7,8) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], 
      [ [(1,2,4,6)(3,8,7,5) : -19 -> -19], [() : -19 -> -18], 
          [() : -19 -> -17] ] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( homV2, e7 );            </span>
[(1,5,4,8)(2,7,6,3) : -18 -> -17]

</pre></div>

<p><a id="X87225D86785DEBC2" name="X87225D86785DEBC2"></a></p>

<h5>5.4-2 GroupoidHomomorphismFromHomogeneousDiscrete</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupoidHomomorphismFromHomogeneousDiscrete</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">homs</var>, <var class="Arg">oims</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>This operation requires the source; the range; a list of homomorphisms from the object groups to the image object groups; and a list of the image objects. The source must be homogeneous and discrete, and the range must be a single piece. The example uses the groupoid <code class="code">HDc6</code> constructed in subsection <code class="func">HomogeneousGroupoid</code> (<a href="chap4.html#X855F318181808814"><span class="RefLink">4.1-5</span></a>).</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">c3a := Subgroup( a4, [(1,2,3)] );; c3b := Subgroup( a4, [(1,2,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c3c := Subgroup( a4, [(1,3,4)] );; c3d := Subgroup( a4, [(2,3,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hc6a := GroupHomomorphismByImages( c6, c3a, </span>
<span class="GAPprompt">></span> <span class="GAPinput">               [(11,12,13)(14,15)], [(1,2,3)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hc6b := GroupHomomorphismByImages( c6, c3b, </span>
<span class="GAPprompt">></span> <span class="GAPinput">               [(11,12,13)(14,15)], [(1,2,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hc6c := GroupHomomorphismByImages( c6, c3c, </span>
<span class="GAPprompt">></span> <span class="GAPinput">               [(11,12,13)(14,15)], [(1,3,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">hc6d := GroupHomomorphismByImages( c6, c3d, </span>
<span class="GAPprompt">></span> <span class="GAPinput">               [(11,12,13)(14,15)], [(2,3,4)] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mor6 := GroupoidHomomorphismFromHomogeneousDiscrete( HDc6, Ga4,</span>
<span class="GAPprompt">></span> <span class="GAPinput">             [ hc6a, hc6b, hc6c, hc6d ], [-15,-14,-12,-11] );</span>
groupoid homomorphism : HDc6 -> Ga4
<span class="GAPprompt">gap></span> <span class="GAPinput">e6 := Arrow( HDc6, (11,12,13), -25, -25 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( mor6, e6 );</span>
[(1,3,4) : -12 -> -12]

</pre></div>

<p><a id="X795C8DE37AED7B44" name="X795C8DE37AED7B44"></a></p>

<h4>5.5 <span class="Heading">Homomorphisms to more than one piece</span></h4>

<p><a id="X847094F478113EA6" name="X847094F478113EA6"></a></p>

<h5>5.5-1 HomomorphismByUnion</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HomomorphismByUnion</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">homs</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>As in section <a href="chap3.html#X795C8DE37AED7B44"><span class="RefLink">3.3</span></a>, when the range <span class="SimpleMath">H</span> has more than one connected component, a homomorphism is a union of homomorphisms, one for each piece in the range.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">W1 := UnionOfPieces( Ha4, Gd8 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">W2 := UnionOfPieces( Ka4, Kk4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( W1, "[Ha4,Gd8]" );  SetName( W2, "[Ka4,Kk4]" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">homW := HomomorphismByUnion( W1, W2, [ isoHa4, hom8 ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( homW );           </span>
groupoid homomorphism: [Ha4,Gd8] -> [Ka4,Kk4] with pieces :
homomorphism to single piece groupoid: Ha4 -> Ka4
root group homomorphism:
(1,2,3) -> (1,2,3)
(2,3,4) -> (2,3,4)
object map: [ -14, -13, -12 ] -> [ -30, -29, -28 ]
ray images: [ (), (), () ]
homomorphism to single piece groupoid: Gd8 -> Kk4
root group homomorphism:
(5,6,7,8) -> (1,4)(2,3)
(5,7) -> ()
object map: [ -9, -8, -7 ] -> [ -14, -13, -12 ]
ray images: [ (), (1,3,4), (1,4)(2,3) ]
 
</pre></div>

<p><a id="X7E2C6BCC7AAB25BE" name="X7E2C6BCC7AAB25BE"></a></p>

<h5>5.5-2 IsomorphismGroupoids</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsomorphismGroupoids</code>( <var class="Arg">A</var>, <var class="Arg">B</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>When <span class="SimpleMath">A,B</span> are two single piece groupoids, they are isomorphic provided they have the same number of objects and the root groups are isomorphic.</p>

<p>When <span class="SimpleMath">A=[A_1,...,A_n],~ B=[B_1,...,B_n]</span> are both unions of connected groupoids, they are isomorphic if there is a permutation <span class="SimpleMath">π</span> of <span class="SimpleMath">[1,...,n]</span> such that <span class="SimpleMath">A_i</span> is isomorphic to <span class="SimpleMath">B_π(i)</span> for all <span class="SimpleMath">i</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">s3b := Group( (4,6,8)(5,7,9), (4,9)(5,8)(6,7) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">s3c := Group( (4,6,8)(5,7,9), (5,9)(6,8) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Gb := SinglePieceGroupoid( s3b, [-6,-5,-4] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Gc := SinglePieceGroupoid( s3c, [-16,-15,-14] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Gb, "Gb" );  SetName( Gc, "Gc" );  </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c6b := Group( (1,2,3,4,5,6) );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c6c := Group( (7,8)(9,10,11) );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Hb := SinglePieceGroupoid( c6b, [-10,-9,-8,-7] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Hc := SinglePieceGroupoid( c6c, [-20,-19,-18,-17] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Hb, "Hb" );  SetName( Hc, "Hc" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsomorphismGroupoids( Gb, Gc );</span>
groupoid homomorphism : Gb -> Gc
[ [ [(4,6,8)(5,7,9) : -6 -> -6], [(4,9)(5,8)(6,7) : -6 -> -6], 
      [() : -6 -> -5], [() : -6 -> -4] ], 
  [ [(4,6,8)(5,7,9) : -16 -> -16], [(5,9)(6,8) : -16 -> -16], 
      [() : -16 -> -15], [() : -16 -> -14] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsomorphismGroupoids( Gb, Hb );</span>
fail
<span class="GAPprompt">gap></span> <span class="GAPinput">B := UnionOfPieces( [ Gb, Hb ] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := UnionOfPieces( [ Gc, Hc ] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">isoBC := IsomorphismGroupoids( B, C );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print( List( PiecesOfMapping(isoBC), p -> [Source(p),Range(p)] ) );</span>
[ [ Hb, Hc ], [ Gb, Gc ] ]

</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap4.html">[Previous Chapter]</a>    <a href="chap6.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="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

100%


¤ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.