<h4>5.1 <span class="Heading">Derivations and Sections</span></h4>
<p>The Whitehead monoid <span class="SimpleMath">\({\rm Der}(\calX)\)</span> of <span class="SimpleMath">\(\calX\)</span> was defined in <a href="chapBib_mj.html#biBW2">[Whi48]</a> to be the monoid of all <em>derivations</em> from <span class="SimpleMath">\(R\)</span> to <span class="SimpleMath">\(S\)</span>, that is the set of all maps <span class="SimpleMath">\(\chi : R \to S\)</span>, with <em>Whitehead product</em> <span class="SimpleMath">\(\star\)</span> (on the <em>right</em>) satisfying:</p>
<p>It easily follows that <span class="SimpleMath">\(\chi 1 = 1\)</span> and <span class="SimpleMath">\(\chi(r^{-1}) = ((\chi r)^{-1})^{r^{-1}}\)</span>, and that the zero map is the identity for this composition. Invertible elements in the monoid are called <em>regular</em>. The Whitehead group of <span class="SimpleMath">\(\calX\)</span> is the group of regular derivations in <span class="SimpleMath">\({\rm Der}(\calX )\)</span>. In the next chapter the <em>actor</em> of <span class="SimpleMath">\(\calX\)</span> is defined as a crossed module whose source and range are permutation representations of the Whitehead group and the automorphism group of <span class="SimpleMath">\(\calX\)</span>.</p>
<p>The construction for cat<span class="SimpleMath">\(^1\)</span>-groups equivalent to the derivation of a crossed module is the <em>section</em>. The monoid of sections of <span class="SimpleMath">\(\calC = (e;t,h : G \to R)\)</span> is the set of group homomorphisms <span class="SimpleMath">\(\xi : R \to G\)</span>, with Whitehead multiplication <span class="SimpleMath">\(\star\)</span> (on the <em>right</em>) satisfying:</p>
<p class="center">\[
{\bf Sect\ 1}: t \circ \xi ~=~ {\rm id}_R,
\quad
{\bf Sect\ 2}: (\xi_1 \star \xi_2)(r)
~=~ (\xi_1 r)(e h \xi_1 r)^{-1}(\xi_2 h \xi_1 r)
~=~ (\xi_2 h \xi_1 r)(e h \xi_1 r)^{-1}(\xi_1 r).
\]</p>
<p>The embedding <span class="SimpleMath">\(e\)</span> is the identity for this composition, and <span class="SimpleMath">\(h(\xi_1 \star \xi_2) = (h \xi_1)(h \xi_2)\)</span>. A section is <em>regular</em> when <span class="SimpleMath">\(h \xi\)</span> is an automorphism, and the group of regular sections is isomorphic to the Whitehead group.</p>
<p>If <span class="SimpleMath">\(\epsilon\)</span> denotes the inclusion of <span class="SimpleMath">\(S = \ker\ t\)</span> in <span class="SimpleMath">\(G\)</span> then <span class="SimpleMath">\(\partial = h \epsilon : S \to R\)</span> and</p>
<p class="center">\[
\xi r ~=~ (e r)(\epsilon \chi r),
\quad\mbox{which equals}\quad
(r, \chi r) ~\in~ R \ltimes S,
\]</p>
<p>determines a section <span class="SimpleMath">\(\xi\)</span> of <span class="SimpleMath">\(\calC\)</span> in terms of the corresponding derivation <span class="SimpleMath">\(\chi\)</span> of <span class="SimpleMath">\(\calX\)</span>, and conversely.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DerivationByImages</code>( <var class="Arg">X0</var>, <var class="Arg">ims</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">‣ IsDerivation</code>( <var class="Arg">map</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUp2DimensionalMapping</code>( <var class="Arg">chi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UpGeneratorImages</code>( <var class="Arg">chi</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">‣ UpImagePositions</code>( <var class="Arg">chi</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">‣ Object2d</code>( <var class="Arg">chi</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">‣ DerivationImage</code>( <var class="Arg">chi</var>, <var class="Arg">r</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">\(\chi\)</span> is stored like a group homomorphisms by specifying the images of the generating set <code class="code">StrongGeneratorsStabChain( StabChain(R) )</code> of the range <span class="SimpleMath">\(R\)</span>. This set of images is stored as the attribute <code class="code">UpGeneratorImages</code> of <span class="SimpleMath">\(\chi\)</span>. The function <code class="code">IsDerivation</code> is automatically called to check that this procedure is well-defined. The attribute <code class="code">Object2d</code><span class="SimpleMath">\((\chi)\)</span> returns the underlying crossed module.</p>
<p>Images of the remaining elements may be obtained using axiom <span class="SimpleMath">\({\bf Der\ 1}\)</span>. <code class="code">UpImagePositions(chi)</code> is the list of the images under <span class="SimpleMath">\(\chi\)</span> of <code class="code">Elements(R)</code> and <code class="code">DerivationImage(chi,r)</code> returns <span class="SimpleMath">\(\chi r\)</span>.</p>
<p>In the following example a cat<span class="SimpleMath">\(^1\)</span>-group <code class="code">C3</code> and the associated crossed module <code class="code">X3</code> are constructed, where <code class="code">X3</code> is isomorphic to the inclusion of the normal cyclic group <code class="code">c3</code> in the symmetric group <code class="code">s3</code>. The derivation <span class="SimpleMath">\(\chi_1\)</span> maps <code class="code">c3</code> to the identity and the other <span class="SimpleMath">\(3\)</span> elements to <span class="SimpleMath">\((1,2,3)(4,6,5)\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SectionByHomomorphism</code>( <var class="Arg">C</var>, <var class="Arg">hom</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">‣ IsSection</code>( <var class="Arg">xi</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ UpHomomorphism</code>( <var class="Arg">xi</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">‣ SectionByDerivation</code>( <var class="Arg">chi</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">‣ DerivationBySection</code>( <var class="Arg">xi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Sections <em>are</em> group homomorphisms but, although they do not require a special representation, one is provided in the category <code class="code">IsUp2DimensionalMapping</code> having attributes <code class="code">Object2d</code>, <code class="code">UpHomomorphism</code> and <code class="code">UpGeneratorsImages</code>. Operations <code class="code">SectionByDerivation</code> and <code class="code">DerivationBySection</code> convert derivations to sections, and vice-versa, calling <code class="func">Cat1GroupOfXMod</code> (<a href="chap2_mj.html#X82F10A59867C765D"><span class="RefLink">2.5-3</span></a>) and <code class="func">XModOfCat1Group</code> (<a href="chap2_mj.html#X82F10A59867C765D"><span class="RefLink">2.5-3</span></a>) automatically.</p>
<p>Two strategies for calculating derivations and sections are implemented, see <a href="chapBib_mj.html#biBAW1">[AW00]</a>. The default method for <code class="func">AllDerivations</code> (<a href="chap5_mj.html#X788884E48534F7CB"><span class="RefLink">5.2-1</span></a>) is to search for all possible sets of images using a backtracking procedure, and when all the derivations are found it is not known which are regular. In early versions of this package, the default method for <code class="code">AllSections( <C> )</code> was to compute all endomorphisms on the range group <code class="code">R</code> of <code class="code">C</code> as possibilities for the composite <span class="SimpleMath">\(h \xi\)</span>. A backtrack method then found possible images for such a section. In the current version the derivations of the associated crossed module are calculated, and these are all converted to sections using <code class="func">SectionByDerivation</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdentityDerivation</code>( <var class="Arg">X0</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">‣ IdentitySection</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The identity derivation maps the range group to the identity subgroup of the source, while the identity section is just the range embedding considered as a section.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadProduct</code>( <var class="Arg">upi</var>, <var class="Arg">upj</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">‣ WhiteheadOrder</code>( <var class="Arg">up</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The <code class="code">WhiteheadProduct</code>, defined in section <a href="chap5_mj.html#X7C01AE7783898705"><span class="RefLink">5.1</span></a>, may be applied to two derivations to form <span class="SimpleMath">\(\chi_i \star \chi_j\)</span>, or to two sections to form <span class="SimpleMath">\(\xi_i \star \xi_j\)</span>. The <code class="code">WhiteheadOrder</code> of a regular derivation <span class="SimpleMath">\(\chi\)</span> is the smallest power of <span class="SimpleMath">\(\chi\)</span>, using this product, equal to the <code class="func">IdentityDerivation</code> (<a href="chap5_mj.html#X87D9F7257DFF0236"><span class="RefLink">5.1-4</span></a>).</p>
<h4>5.2 <span class="Heading">Whitehead Monoids and Groups</span></h4>
<p>As mentioned at the beginning of this chapter, the Whitehead monoid <span class="SimpleMath">\({\rm Der}(\calX)\)</span> of <span class="SimpleMath">\(\calX\)</span> is the monoid of all derivations from <span class="SimpleMath">\(R\)</span> to <span class="SimpleMath">\(S\)</span>. Monoids of derivations have representation <code class="code">IsMonoidOfUp2DimensionalMappingsObj</code>. Multiplication tables for Whitehead monoids enable the construction of transformation representations.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllDerivations</code>( <var class="Arg">X0</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">‣ ImagesList</code>( <var class="Arg">obj</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">‣ DerivationClass</code>( <var class="Arg">mon</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">‣ ImagesTable</code>( <var class="Arg">obj</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Using our example <code class="code">X3</code> we find that there are just nine derivations. Here <code class="code">AllDerivations</code> returns a collection of up mappings with attributes:</p>
<ul>
<li><p><code class="code">Object2d</code> - the crossed modules <span class="SimpleMath">\(\calX\)</span>;</p>
</li>
<li><p><code class="code">ImagesList</code> - a list, for each derivation, of the images of the generators of the range group;</p>
</li>
<li><p><code class="code">DerivationClass</code> - the string "all"; other classes include "regular" and "principal";</p>
</li>
<li><p><code class="code">ImagesTable</code> - this is a table whose <span class="SimpleMath">\([i,j]\)</span>-th entry is the position in the list of elements of <span class="SimpleMath">\(S\)</span> of the image under the <span class="SimpleMath">\(i\)</span>-th derivation of the <span class="SimpleMath">\(j\)</span>-th element of <span class="SimpleMath">\(R\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadMonoidTable</code>( <var class="Arg">X0</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">‣ WhiteheadTransformationMonoid</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The <code class="code">WhiteheadMonoidTable</code> of <span class="SimpleMath">\(\calX\)</span> is the multiplication table whose <span class="SimpleMath">\([i,j]\)</span>-th entry is the position <span class="SimpleMath">\(k\)</span> in the list of derivations of the Whitehead product <span class="SimpleMath">\(\chi_i*\chi_j = \chi_k\)</span>.</p>
<p>Using the rows of the table as transformations, we may construct the <code class="code">WhiteheadTransformationMonoid</code> of <span class="SimpleMath">\(\calX\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RegularDerivations</code>( <var class="Arg">X0</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">‣ WhiteheadGroupTable</code>( <var class="Arg">X0</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">‣ WhiteheadPermGroup</code>( <var class="Arg">X0</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">‣ IsWhiteheadPermGroup</code>( <var class="Arg">G</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ WhiteheadRegularGroup</code>( <var class="Arg">X0</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">‣ WhiteheadGroupIsomorphism</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">RegularDerivations</code> are those derivations which are invertible in the monoid. The multiplication table for a Whitehead group - a subtable of the Whitehead monoid table - enables the construction of a permutation representation <code class="code">WhiteheadPermGroup</code> <span class="SimpleMath">\(W\calX\)</span> of <span class="SimpleMath">\(\calX\)</span>. This group satisfies the property <code class="code">IsWhiteheadPermGroup</code>. and <span class="SimpleMath">\(\calX\)</span> is its attribute <code class="code">Object2d</code>.</p>
<p>Of the nine derivations of <code class="code">X3</code> just six are regular. The associated group is isomorphic to the symmetric group <code class="code">s3</code>.</p>
<p>Taking the rows of the <code class="code">WhiteheadGroupTable</code> as permutations, we may construct the <code class="code">WhiteheadRegularGroup</code> of <span class="SimpleMath">\(\calX\)</span>. Then, seeking a <code class="code">SmallerDegreePermutationRepresentation</code>, we obtain the <code class="code">WhiteheadGroupIsomorphism</code> whose image is the <code class="code">WhiteheadPermGroup</code> of <span class="SimpleMath">\(\calX\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PrincipalDerivations</code>( <var class="Arg">X0</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">‣ PrincipalDerivationSubgroup</code>( <var class="Arg">X0</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">‣ WhiteheadHomomorphism</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>The principal derivations form a subgroup of the Whitehead group. The <code class="code">PrincipalDerivationSubgroup</code> is the corresponding subgroup of the <code class="code">WhiteheadPermGroup</code>.</p>
<p>The Whitehead homomorphism <span class="SimpleMath">\(\eta : S \to W\calX, s \mapsto \eta_s\)</span> for <span class="SimpleMath">\(\calX\)</span> maps the source group of <span class="SimpleMath">\(\calX\)</span> to the Whitehead group of <span class="SimpleMath">\(\calX\)</span>.</p>
<p><strong class="button">Exercise:</strong><span class="SimpleMath">\(~\)</span> Use the two crossed module axioms to show that <span class="SimpleMath">\(\eta_{s_1} \star \eta_{s_2} = \eta_{s_1s_2}\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SourceEndomorphism</code>( <var class="Arg">chi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">\(\chi\)</span> of <span class="SimpleMath">\(\calX = (\partial : S \to R)\)</span> determines an endomorphism <span class="SimpleMath">\(\sigma_{\chi} : S \to S,~ s \mapsto s(\chi \partial s)\)</span>. We may verify that <span class="SimpleMath">\(\sigma_{\chi}\)</span> is a homomorphism by:</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Object2dEndomorphism</code>( <var class="Arg">chi</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A derivation <span class="SimpleMath">\(\chi\)</span> of <span class="SimpleMath">\(\calX = (\partial : S \to R)\)</span> determines an endomorphism <span class="SimpleMath">\(\alpha_{\chi} : \calX \to \calX\)</span> whose source and range endomorphisms are given by the previous two operations.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">alpha2 := Object2dEndomorphism( chi2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( alpha2 );</span>
Morphism of crossed modules :-
: Source = [c3->s3] with generating sets:
[ (1,2,3)(4,6,5) ]
[ (4,5,6), (2,3)(5,6) ]
: Range = Source
: Source Homomorphism maps source generators to:
[ (1,3,2)(4,5,6) ]
: Range Homomorphism maps range generators to:
[ (4,6,5), (2,3)(4,6) ]
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AllSections</code>( <var class="Arg">C0</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">‣ RegularSections</code>( <var class="Arg">C0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These operations are currently obtained by running the equivalent operation for derivations and then converting the result to sections.</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.