<p>This is the super <strong class="pkg">GAP</strong>-category which will include the <strong class="pkg">GAP</strong>-categories <code class="func">IsHomalgStaticMorphism</code> (<a href="chap4.html#X81458CA5836D582F"><span class="RefLink">4.1-2</span></a>) and <code class="func">IsHomalgChainMorphism</code> (<a href="chap7.html#X7CB62E188027B7C5"><span class="RefLink">7.1-1</span></a>). We need this <strong class="pkg">GAP</strong>-category to be able to build complexes with *objects* being objects of <strong class="pkg">homalg</strong> categories or again complexes. We need this GAP-category to be able to build chain morphisms with *morphisms* being morphisms of <strong class="pkg">homalg</strong> categories or again chain morphisms. <br /> CAUTION: Never let <strong class="pkg">homalg</strong> morphisms (which are not endomorphisms) be multiplicative elements!!</p>
<div class="example"><pre>
DeclareCategory( "IsHomalgMorphism",
IsHomalgStaticObjectOrMorphism and
IsAdditiveElementWithInverse );
</pre></div>
<p>This is the super <strong class="pkg">GAP</strong>-category which will include the <strong class="pkg">GAP</strong>-categories <code class="code">IsHomalgMap</code>, etc. <br /> CAUTION: Never let homalg morphisms (which are not endomorphisms) be multiplicative elements!!</p>
<p>This is the super <strong class="pkg">GAP</strong>-category which will include the <strong class="pkg">GAP</strong>-categories <code class="code">IsHomalgSelfMap</code>, <code class="func">IsHomalgChainEndomorphism</code> (<a href="chap7.html#X853BD37084BFC602"><span class="RefLink">7.1-2</span></a>), etc. be multiplicative elements!!</p>
<div class="example"><pre>
DeclareCategory( "IsHomalgEndomorphism",
IsHomalgMorphism and
IsMultiplicativeElementWithInverse );
</pre></div>
<p>The <strong class="pkg">GAP</strong> representation of morphisms of finitley generated <strong class="pkg">homalg</strong> objects.</p>
<p>(It is a representation of the <strong class="pkg">GAP</strong> category <code class="func">IsHomalgMorphism</code> (<a href="chap4.html#X7D0F89828196DFF0"><span class="RefLink">4.1-1</span></a>).)</p>
<p>The <strong class="pkg">GAP</strong> representation of static morphisms of finitley generated <strong class="pkg">homalg</strong> static objects.</p>
<p>(It is a representation of the <strong class="pkg">GAP</strong> category <code class="func">IsHomalgStaticMorphism</code> (<a href="chap4.html#X81458CA5836D582F"><span class="RefLink">4.1-2</span></a>), which is a subrepresentation of the <strong class="pkg">GAP</strong> representation <code class="func">IsMorphismOfFinitelyGeneratedObjectsRep</code> (<a href="chap4.html#X823580787F23EB10"><span class="RefLink">4.1-4</span></a>).)</p>
<p><code class="code">IsMorphism</code>=<code class="code">true</code> means one of the following:</p>
<ul>
<li><p>The property method <code class="code">IsMorphism</code>(<var class="Arg">phi</var>) was explicitly invoked by the user and it returned <code class="code">true</code>, where prior to the invocation <code class="code">HasIsMorphism</code>(<var class="Arg">phi</var>) was <code class="code">false</code>. The method is meant to check the integrity of the data structure at the time of it invocation. What this precisely means depends on the specific <strong class="pkg">homalg</strong>-based package.</p>
</li>
<li><p>The user has explicitly <code class="code">SetIsMorphism</code>(<var class="Arg">phi</var>, <code class="code">true</code>).</p>
</li>
<li><p>The morphism <var class="Arg">phi</var> is output of a categorical procedure where <code class="code">IsMorphism</code> has become <code class="code">true</code> for all morphisms in the input.</p>
</li>
<li><p>The morphism <var class="Arg">phi</var> is output of a categorical procedure which gurantees the integrity of the data structure of its output independent of its input.</p>
<p>This constructor returns the finitely generated kernel of the <strong class="pkg">homalg</strong> morphism <var class="Arg">phi</var> as a subobject of the <strong class="pkg">homalg</strong> object <code class="code">Source</code>(<var class="Arg">phi</var>) with generators given by the syzygies of <var class="Arg">phi</var>.</p>
<p>The natural embedding of the <code class="code">Kernel</code><span class="SimpleMath">(</span><var class="Arg">phi</var><span class="SimpleMath">)</span> into the <code class="code">Source</code><span class="SimpleMath">(</span><var class="Arg">phi</var><span class="SimpleMath">)</span>.</p>
<p>This constructor returns the finitely generated image of the <strong class="pkg">homalg</strong> morphism <var class="Arg">phi</var> as a subobject of the <strong class="pkg">homalg</strong> object <code class="code">Range</code>(<var class="Arg">phi</var>) with generators given by <var class="Arg">phi</var> applied to the generators of its sourceobject.</p>
<p>The natural embedding of the <code class="code">ImageObject</code><span class="SimpleMath">(</span><var class="Arg">phi</var><span class="SimpleMath">)</span> into the <code class="code">Range</code><span class="SimpleMath">(</span><var class="Arg">phi</var><span class="SimpleMath">)</span>.</p>
<p>This method performs side effects on its argument <var class="Arg">phi</var> and returns it.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">zz := HomalgRingOfIntegers( );</span>
Z
<span class="GAPprompt">gap></span> <span class="GAPinput">M := HomalgMatrix( "[ 2, 3, 4, 5, 6, 7 ]", 2, 3, zz );</span>
<A 2 x 3 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">M := LeftPresentation( M );</span>
<A non-torsion left module presented by 2 relations for 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">N := HomalgMatrix( "[ 2, 3, 4, 5, 6, 7, 8, 9 ]", 2, 4, zz );</span>
<A 2 x 4 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">N := LeftPresentation( N );</span>
<A non-torsion left module presented by 2 relations for 4 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := HomalgMatrix( "[ \
<span class="GAPprompt">></span> <span class="GAPinput">1, 0, -2, -4, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 1, 4, 7, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">1, 0, -2, -4 \</span>
<span class="GAPprompt">></span> <span class="GAPinput">]", 3, 4, zz );
<A 3 x 4 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := HomalgMap( mat, M, N );</span>
<A "homomorphism" of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsMorphism( phi );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">phi;</span>
<A homomorphism of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( phi );</span>
[ [ 1, 0, -2, -4 ],
[ 0, 1, 4, 7 ],
[ 1, 0, -2, -4 ] ]
the map is currently represented by the above 3 x 4 matrix
<span class="GAPprompt">gap></span> <span class="GAPinput">ByASmallerPresentation( phi );</span>
<A non-zero homomorphism of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( phi );</span>
[ [ 0, 0, 0 ],
[ 1, -1, -2 ] ]
the map is currently represented by the above 2 x 3 matrix
<span class="GAPprompt">gap></span> <span class="GAPinput">M;</span>
<A rank 1 left module presented by 1 relation for 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( M );</span>
Z/< 3 > + Z^(1 x 1)
<span class="GAPprompt">gap></span> <span class="GAPinput">N;</span>
<A rank 2 left module presented by 1 relation for 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( N );</span>
Z/< 4 > + Z^(1 x 2)
</pre></div>
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.