<h3>6 <span class="Heading">Automorphisms of Groupoids</span></h3>
<p>In this chapter we consider automorphisms of single piece groupoids; then homogeneous discrete groupoids; and finally homogeneous groupoids. We also consider matrix representations and groupooid actions.</p>
<p>If <span class="SimpleMath">g_1 = 1_g</span>, then for all <span class="SimpleMath">j</span> the rays <span class="SimpleMath">(r_j : o_1 -> o_j)</span> are shifted by <span class="SimpleMath">g_j</span>: so they map to <span class="SimpleMath">(r_jg_j : o_1 -> o_j)</span>. So the operation <code class="code">GroupoidAutomorphismByRayShifts</code> is the special case of <code class="code">GroupoidAutomorphismByNtuple</code> when <span class="SimpleMath">g_1=1</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupoidInnerAutomorphism</code>( <var class="Arg">gpd</var>, <var class="Arg">arrow</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">‣ GroupoidInnerAutomorphismNormalSubgroupoid</code>( <var class="Arg">gpd</var>, <var class="Arg">subgpd</var>, <var class="Arg">arrow</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Given an arrow <span class="SimpleMath">a = (c : p -> q) ∈ G</span> with <span class="SimpleMath">p ≠ q</span>, the <em>inner automorphism</em> <span class="SimpleMath">α_a</span> of <span class="SimpleMath">G</span> by <span class="SimpleMath">a</span> is the mapping <span class="SimpleMath">g ↦ g^a</span> where conjugation of arrows is defined in section <a href="chap4.html#X8653FC9786E3209A"><spanclass="RefLink">4.5</span></a>. It is easily checked that if <span class="SimpleMath">L_a = [1,...,1,c^-1,1,...,1,c,1,...,1]</span>, with <span class="SimpleMath">c^-1</span> in position <spanclass="SimpleMath">p</span> and <span class="SimpleMath">c</span> in position <span class="SimpleMath">q</span>, then</p>
<p>Similarly, when <span class="SimpleMath">p=q</span>, then <span class="SimpleMath">α_a = α_L_a</span> where now <span class="SimpleMath">L_a = [1,...,1,c,1,...,1]</span>, with <span class="SimpleMath">c</span> in position <span class="SimpleMath">p</span>.</p>
<p>Conjugation may also be applied to certain normal subgroupoids of <span class="SimpleMath">G</span>. Firstly, let <span class="SimpleMath">N</span> be the wide subgroupoid of <span class="SimpleMath">G</span> determined by a normal subgroup <span class="SimpleMath">n</span> of the root group. Then, provided the group element of <span class="SimpleMath">a</span> is in <span class="SimpleMath">n</span>, the inner automorphism by <span class="SimpleMath">a</span> may be applied to <spanclass="SimpleMath">N</span>.</p>
<p>Secondly, if <span class="SimpleMath">H</span> is a homogeneous, discrete subgroupoid of <spanclass="SimpleMath">G</span> and if the group element of <span class="SimpleMath">a</span> is in the common vertex groups, then the inner automorphism may be applied to <span class="SimpleMath">H</span>.</p>
<h5>6.1-3 <span class="Heading">Automorphisms of a groupoid with rays</span></h5>
<p>Let <span class="SimpleMath">S</span> be a wide subgroupoid with rays of a standard groupoid <span class="SimpleMath">G</span>.</p>
<p>An automorphism <span class="SimpleMath">α</span> of the root group <span class="SimpleMath">H</span> extends to the whole of <span class="SimpleMath">S</span> with the rays fixed by the automorphism: <span class="SimpleMath">(r^-1_ihr_j : o_i -> o_j) ↦ (r^-1_i (α h)r_j : o_i -> o_j)</span>.</p>
<p>An automorphism of <span class="SimpleMath">G</span> obtained by permuting the objects may map <span class="SimpleMath">S</span> to a different subgroupoid. So we construct an isomorphism <span class="SimpleMath">ι</span> from <span class="SimpleMath">S</span> to a standard groupoid <span class="SimpleMath">T</span>, construct <span class="SimpleMath">α</span> permuting the objects of <span class="SimpleMath">T</span>, and return <span class="SimpleMath">ι*α*ι^-1</span>.</p>
<p>For an automorphism by ray shifts we require that the shifts are elements of the root group of <span class="SimpleMath">S</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AutomorphismGroupOfGroupoid</code>( <var class="Arg">gpd</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">‣ NiceObjectAutoGroupGroupoid</code>( <var class="Arg">gpd</var>, <var class="Arg">aut</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>As above, let <span class="SimpleMath">G</span> be the direct product of a group <span class="SimpleMath">g</span> and a complete digraph with <span class="SimpleMath">n</span> objects. The <code class="code">AutomorphismGroup</code> <span class="SimpleMath">Aut(G)</span> of <span class="SimpleMath">G</span> is isomorphic to the quotient of <span class="SimpleMath">S_n × A × g^n</span> by a subgroup isomorphic to <span class="SimpleMath">g</span>, where <span class="SimpleMath">A</span> is the automorphism group of <span class="SimpleMath">g</span> and <span class="SimpleMath">S_n</span> is the symmetric group on the <span class="SimpleMath">n</span> objects. This is one of the main topics in <a href="chapBib.html#biBAlWe">[AW10]</a>.</p>
<p>If <span class="SimpleMath">H</span> is the union of <span class="SimpleMath">k</span> groupoids, all isomorphic to <span class="SimpleMath">G</span>, then <span class="SimpleMath">Aut(H)</span> is isomorphic to <span class="SimpleMath">S_k ⋉ Aut(G)</span>.</p>
<p>The function <code class="code">NiceObjectAutoGroupGroupoid</code> takes a groupoid and a subgroup of its automorphism group and retuns a <em>nice monomorphism</em> from this automorphism group to a pc-group, if one is available. The current implementation is experimental. Note that <code class="code">ImageElm</code> at present only works on generating elements.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">AHa4 := AutomorphismGroupOfGroupoid( Ha4 ); </span>
Aut(Ha4)
<span class="GAPprompt">gap></span> <span class="GAPinput">Agens := GeneratorsOfGroup( AHa4);; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Length( Agens );</span>
8
<span class="GAPprompt">gap></span> <span class="GAPinput">NHa4 := NiceObject( AHa4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">MHa4 := NiceMonomorphism( AHa4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( AHa4 ); ## (3!)x24x(12^2)</span>
20736
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( AHa4, "AHa4" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( NHa4, "NHa4" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">## either of these names may be returned</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">names := [ "(((A4 x A4 x A4) : C2) : C3) : C2",</span>
<span class="GAPprompt">></span> <span class="GAPinput"> "(C2 x C2 x C2 x C2 x C2 x C2) : (((C3 x C3 x C3) : C3) : (C2 x C2))" ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription( NHa4 ) in names;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">## cannot test images of Agens because of random variations </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">## Now do some tests!</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mgi := MappingGeneratorsImages( MHa4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">autgen := mgi[1];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">pcgen := mgi[2];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ngen := Length( autgen );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ForAll( [1..ngen], i -> Order(autgen[i]) = Order(pcgen[i]) ); </span>
true
<p>The inner automorphism subgroup <span class="SimpleMath">mathrmInn(G)</span> of the automorphism group of <span class="SimpleMath">G</span> is the group of inner automorphisms <span class="SimpleMath">∧ a : b ↦ b^a</span> for <span class="SimpleMath">a ∈ G</span>. It is <em>not</em> the case that the map <span class="SimpleMath">G -> mathrmInn(G), a ↦ ∧ a</span> preserves multiplication. Indeed, when <span class="SimpleMath">a=(o,g,p), b=(p,h,r) ∈ G</span> with objects <span class="SimpleMath">p,q,r</span> all distict, then</p>
<p>(Compare this with the permutation identity <span class="SimpleMath">(pq)(qr)(pq) = (pr) = (qr)(pq)(qr)</span>.) So the map <span class="SimpleMath">G -> mathrmInn(G)</span> is of type <code class="code">IsMappingWithObjectsByFunction</code>.</p>
<p>In the example we convert the automorphism group <code class="code">AGa4</code> into a single object groupoid, and then define the inner automorphism map.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupoidAutomorphismByGroupAutos</code>( <var class="Arg">gpd</var>, <var class="Arg">auts</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Homogeneous, discrete groupoids are the second type of groupoid for which a method is provided for <code class="code">AutomorphismGroupOfGroupoid</code>. This is used in the <strong class="pkg">XMod</strong> package for constructing crossed modules of groupoids. The two types of generating automorphism are <code class="code">GroupoidAutomorphismByGroupAutos</code>, which requires a list of group automorphisms, one for each object group, and <code class="code">GroupoidAutomorphismByObjectPerm</code>, which permutes the objects. So, if the object groups <span class="SimpleMath">g</span> have automorphism group <span class="SimpleMath">Aut(g)</span> and there are <span class="SimpleMath">n</span> objects, the autmorphism group of the groupoid has size <span class="SimpleMath">n!|Aut(g)|^n</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AutomorphismGroupoidOfGroupoid</code>( <var class="Arg">gpd</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>If <span class="SimpleMath">G</span> is a single piece groupoid with automorphism group <span class="SimpleMath">Aut(G)</span>, and if <span class="SimpleMath">H</span> is the union of <span class="SimpleMath">k</span> pieces, all isomorphic to <span class="SimpleMath">G</span>, then the automorphism group of <span class="SimpleMath">H</span> is the wreath product <span class="SimpleMath">S_k ⋉ Aut(G)</span>. However, we find it more convenient to construct the <em>automorphism groupoid</em> of <span class="SimpleMath">H</span>. This is a single piece groupoid <span class="SimpleMath">AUT(H)</span> with <span class="SimpleMath">k</span> objects - the object lists of the pieces of <span class="SimpleMath">H</span> - and root group <span class="SimpleMath">Aut(G)</span>. Isomorphisms between the root groups of the <span class="SimpleMath">k</span> pieces may be applied to the generators of <span class="SimpleMath">Aut(G)</span> to construct automorphism groups of these pieces, and then isomorphisms between these automorphism groups. We then construct <span class="SimpleMath">AUT(H)</span> using <code class="code">GroupoidByIsomorphisms</code>.</p>
<p>In the special case that <span class="SimpleMath">H</span> is homogeneous, there is no need to construct a collection of automorphism groups. Rather, the rays of <span class="SimpleMath">AUT(H)</span> are given by <code class="code">IsomorphismNewObjects</code>. For the example we use <code class="code">HGd8</code> constructed in subsection <code class="func">HomogeneousGroupoid</code> (<a href="chap4.html#X855F318181808814"><span class="RefLink">4.1-5</span></a>).</p>
<h4>6.2 <span class="Heading">Matrix representations of groupoids</span></h4>
<p>Suppose that <code class="code">gpd</code> is the direct product of a group <span class="SimpleMath">G</span> and a complete digraph, and that <span class="SimpleMath">ρ : G -> M</span> is an isomorphism to a matrix group <span class="SimpleMath">M</span>. Then, if <code class="code">rep</code> is the isomorphic groupoid with the same objects and root group <span class="SimpleMath">M</span>, there is an isomorphism <span class="SimpleMath">μ</span> from <code class="code">gpd</code> to <code class="code">rep</code> mapping <span class="SimpleMath">(g : i -> j)</span> to <span class="SimpleMath">(ρ g : i -> j)</span>.</p>
<p>When <code class="code">gpd</code> is a groupoid with rays, a representation can be obtained by restricting a representation of its parent.</p>
<p>Recall from sections <a href="chap4.html#X8653FC9786E3209A"><span class="RefLink">4.5</span></a> and <code class="func">GroupoidInnerAutomorphism</code> (<a href="chap6.html#X86BD61567B41B139"><span class="RefLink">6.1-2</span></a>) the notion of <em>conjugation</em> in a groupoid, and the associated inner automorphisms.</p>
<p>It was mentioned there that the map <span class="SimpleMath">∧ : G -> Aut(G),~ a -> ∧ a</span>, is <em>not</em> a groupoid homomorphism. It is in fact a <em>groupoid action</em> which we now define. Let <span class="SimpleMath">{p,q,r,u,v}</span> be distinct objects in <span class="SimpleMath">G</span> and let:</p>
<p><span class="SimpleMath">b_1 = (d_1 : p -> p),~~ b_2 = (d_2 : p -> p),~~ b_3 = (d_3 : q -> q),~~ b_4 = (c_3c_1 : q -> q)</span> be arrows in <span class="SimpleMath">G</span>. Then the following <em>conjugation identities</em> must be satisfied:</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GroupoidActionByConjugation</code>( <var class="Arg">gpd</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">‣ IsGroupoidAction</code>( <var class="Arg">map</var> )</td><td class="tdright">( category )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ActionMap</code>( <var class="Arg">act</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The operation <code class="code">GroupoidInnerAutomorphism</code>, which produces the conjugation action of <span class="SimpleMath">G</span> on itself, does satisfy the conjugation identities and so provides a standard example of an action.</p>
<p>An action is a record with fields <code class="code">Source</code>, <code class="code">Range</code> and <code class="code">ActionMap</code>.</p>
<p>The examples repeat those in section <code class="func">GroupoidInnerAutomorphism</code> (<a href="chap6.html#X86BD61567B41B139"><span class="RefLink">6.1-2</span></a>): firstly with a groupoid acting on itself.</p>
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.