| products/Sources/formale Sprachen/GAP/pkg/homalg/doc/chap6.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 (homalg) - Chapter 6: Complexes</ 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= "chap6" 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="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chapA.html">A</a> <a href="chapB.html">B</a> <a href="chapC.html">C</a> <a href="chapD.html">D</a> <a href="chapE.html">E</a> <a href="chapF.html">F</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="chap5.html">[Previous Chapter]</a> <a href="chap7.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap6_mj.html">[MathJax on]</a></p>
<p><a id="X79C388D385DB7CD1" name="X79C388D385DB7CD1"></a></p>
<div class="ChapSects"><a href="chap6.html#X79C388D385DB7CD1">6 <span class="Heading">Complexes</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6.html#X7FF155CB7C4C7CB4">6.1 <span class="Heading">Complexes: Category and Representations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X8166F9FD7BFDA207">6.1-1 IsHomalgComplex</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X825B40448449FFF6">6.1-2 IsComplexOfFinitelyPresentedObjectsRep</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7B0613FF7A702D48">6.1-3 IsCocomplexOfFinitelyPresentedObjectsRep</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6.html#X7B31FFA97FEE9B80">6.2 <span class="Heading">Complexes: Constructors</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7C0D9D0178477517">6.2-1 HomalgComplex</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X82E0E9D17E29A67B">6.2-2 HomalgCocomplex</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6.html#X80A23E668343440B">6.3 <span class="Heading">Complexes: Properties</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7C668F517AEB1F99">6.3-1 IsSequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X856E7B4E8264E8F0">6.3-2 IsComplex</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X847A62A6806046C4">6.3-3 IsAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7F4927337891E086">6.3-4 IsRightAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X8673124C83AA8FCC">6.3-5 IsLeftAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X78FEA48B7839E683">6.3-6 IsGradedObject</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X793465497B435197">6.3-7 IsExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X87ADD4F685457000">6.3-8 IsShortExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7BAF581986905995">6.3-9 IsSplitShortExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X84B794FB86C169CF">6.3-10 IsTriangle</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X81E57EE37FC94539">6.3-11 IsExactTriangle</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6.html#X7BC7B49D7F928DF8">6.4 <span class="Heading">Complexes: Attributes</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7DE6E8D8875B515F">6.4-1 BettiTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X80EDFDD281834882">6.4-2 FiltrationByShortExactSequence</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6.html#X84E12E9C7A60D9BC">6.5 <span class="Heading">Complexes: Operations and Functions</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X7F10893B78FEDEB7">6.5-1 Add</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap6.html#X79677A407C9EF3A0">6.5-2 ByASmallerPresentation</a></span>
</div></div>
</div>
<h3>6 <span class="Heading">Complexes</span></h3>
<p><a id="X7FF155CB7C4C7CB4" name="X7FF155CB7C4C7CB4"></a></p>
<h4>6.1 <span class="Heading">Complexes: Category and Representations</span></h4>
<p><a id="X8166F9FD7BFDA207" name="X8166F9FD7BFDA207"></a></p>
<h5>6.1-1 IsHomalgComplex</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsHomalgComplex</code>( <var class="Arg">C</var> )</td><td class="tdright">( category )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>The <strong class="pkg">GAP</strong> category of <strong class="pkg">homalg</strong> (co)complexes.</p>
<p>(It is a subcategory of the <strong class="pkg">GAP</strong> category <code class="code">IsHomalgObject</code>.)</p>
<p><a id="X825B40448449FFF6" name="X825B40448449FFF6"></a></p>
<h5>6.1-2 IsComplexOfFinitelyPresentedObjectsRep</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsComplexOfFinitelyPresentedObjectsRep</code>( <var class="Arg">C</var> )</td><td class="tdright">( representation )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>The <strong class="pkg">GAP</strong> representation of complexes of finitley presented <strong class="pkg">homalg</strong> objects.</p>
<p>(It is a representation of the <strong class="pkg">GAP</strong> category <code class="func">IsHomalgComplex</code> (<a href="chap6.html#X8166F9FD7BFDA207"><span class="RefLink">6.1-1</span></a>), which is a subrepresentation of the <strong class="pkg">GAP</strong> representation <code class="code">IsFinitelyPresentedObjectRep</code>.)</p>
<p><a id="X7B0613FF7A702D48" name="X7B0613FF7A702D48"></a></p>
<h5>6.1-3 IsCocomplexOfFinitelyPresentedObjectsRep</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsCocomplexOfFinitelyPresentedObjectsRep</code>( <var class="Arg">C</var> )</td><td class="tdright">( representation )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>The <strong class="pkg">GAP</strong> representation of cocomplexes of finitley presented <strong class="pkg">homalg</strong> objects.</p>
<p>(It is a representation of the <strong class="pkg">GAP</strong> category <code class="func">IsHomalgComplex</code> (<a href="chap6.html#X8166F9FD7BFDA207"><span class="RefLink">6.1-1</span></a>), which is a subrepresentation of the <strong class="pkg">GAP</strong> representation <code class="code">IsFinitelyPresentedObjectRep</code>.)</p>
<p><a id="X7B31FFA97FEE9B80" name="X7B31FFA97FEE9B80"></a></p>
<h4>6.2 <span class="Heading">Complexes: Constructors</span></h4>
<p><a id="X7C0D9D0178477517" name="X7C0D9D0178477517"></a></p>
<h5>6.2-1 HomalgComplex</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HomalgComplex</code>( <var class="Arg">M</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgComplex</code>( <var class="Arg">phi</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgComplex</code>( <var class="Arg">C</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgComplex</code>( <var class="Arg">cm</var>[, <var class="Arg">d</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> complex</p>
<p>The first syntax creates a complex (i.e. chain complex) with the single <strong class="pkg">homalg</strong> object <var class="Arg">M</var> at (homological) degree <var class="Arg">d</var>.</p>
<p>The second syntax creates a complex with the single <strong class="pkg">homalg</strong> morphism <var class="Arg">phi</var>, its source placed at (homological) degree <var class="Arg">d</var> (and its target at <var class="Arg">d</var><span class="SimpleMath">-1</span>).</p>
<p>The third syntax creates a complex (i.e. chain complex) with the single <strong class="pkg">homalg</strong> (co)complex <var class="Arg">C</var> at (homological) degree <var class="Arg">d</var>.</p>
<p>The fourth syntax creates a complex with the single <strong class="pkg">homalg</strong> (co)chain morphism <var class="Arg">cm</var> (--> <code class="func">HomalgChainMorphism</code> (<a href="chap7.html#X853361547FB213CA"><span class="RefLink">7.2-1</span></a>)), its source placed at (homological) degree <var class="Arg">d</var> (and its target at <var class="Arg">d</var><span class="SimpleMath">-1</span>).</p>
<p>If <var class="Arg">d</var> is not provided it defaults to zero in all cases. <br /> To add a morphism (resp. (co)chain morphism) to a complex use <code class="func">Add</code> (<a href="chap6.html#X7F10893B78FEDEB7"><span class="RefLink">6.5-1</span></a>).</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>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 2, 4, 6, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9 \</span>
<span class="GAPprompt">></span> <span class="GAPinput">]", 3, 4, zz );</span>
<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>
</pre></div>
<p>The first possibility:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := HomalgComplex( N );</span>
<A non-zero graded homology object consisting of a single left module at degre\
e 0>
<span class="GAPprompt">gap></span> <span class="GAPinput">Add( C, phi );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C;</span>
<A complex containing a single morphism of left modules at degrees [ 0 .. 1 ]>
</pre></div>
<p>The second possibility:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := HomalgComplex( phi );</span>
<A non-zero acyclic complex containing a single morphism of left modules at de\
grees [ 0 .. 1 ]>
</pre></div>
<p><a id="X82E0E9D17E29A67B" name="X82E0E9D17E29A67B"></a></p>
<h5>6.2-2 HomalgCocomplex</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; HomalgCocomplex</code>( <var class="Arg">M</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgCocomplex</code>( <var class="Arg">phi</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgCocomplex</code>( <var class="Arg">C</var>[, <var class="Arg">d</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">an style='color: green'>8227; HomalgCocomplex</code>( <var class="Arg">cm</var>[, <var class="Arg">d</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> complex</p>
<p>The first syntax creates a cocomplex (i.e. cochain complex) with the single <strong class="pkg">homalg</strong> object <var class="Arg">M</var> at (cohomological) degree <var class="Arg">d</var>.</p>
<p>The second syntax creates a cocomplex with the single <strong class="pkg">homalg</strong> morphism <var class="Arg">phi</var>, its source placed at (cohomological) degree <var class="Arg">d</var> (and its target at <var class="Arg">d</var><span class="SimpleMath">+1</span>).</p>
<p>The third syntax creates a cocomplex (i.e. cochain complex) with the single <strong class="pkg">homalg</strong> cocomplex <var class="Arg">C</var> at (cohomological) degree <var class="Arg">d</var>.</p>
<p>The fourth syntax creates a cocomplex with the single <strong class="pkg">homalg</strong> (co)chain morphism <var class="Arg">cm</var> (--> <code class="func">HomalgChainMorphism</code> (<a href="chap7.html#X853361547FB213CA"><span class="RefLink">7.2-1</span></a>)), its source placed at (cohomological) degree <var class="Arg">d</var> (and its target at <var class="Arg">d</var><span class="SimpleMath">+1</span>).</p>
<p>If <var class="Arg">d</var> is not provided it defaults to zero in all cases. <br /> To add a morphism (resp. (co)chain morphism) to a cocomplex use <code class="func">Add</code> (<a href="chap6.html#X7F10893B78FEDEB7"><span class="RefLink">6.5-1</span></a>).</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 := RightPresentation( Involution( M ) );</span>
<A non-torsion right module on 3 generators satisfying 2 relations>
<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 := RightPresentation( Involution( N ) );</span>
<A non-torsion right module on 4 generators satisfying 2 relations>
<span class="GAPprompt">gap></span> <span class="GAPinput">mat := HomalgMatrix( "[ \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 2, 4, 6, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9 \</span>
<span class="GAPprompt">></span> <span class="GAPinput">]", 3, 4, zz );</span>
<A 3 x 4 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := HomalgMap( Involution( mat ), M, N );</span>
<A "homomorphism" of right 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 right modules>
</pre></div>
<p>The first possibility:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := HomalgCocomplex( M );</span>
<A non-zero graded cohomology object consisting of a single right module at de\
gree 0>
<span class="GAPprompt">gap></span> <span class="GAPinput">Add( C, phi );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C;</span>
<A cocomplex containing a single morphism of right modules at degrees
[ 0 .. 1 ]>
</pre></div>
<p>The second possibility:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := HomalgCocomplex( phi );</span>
<A non-zero acyclic cocomplex containing a single morphism of right modules at\
degrees [ 0 .. 1 ]>
</pre></div>
<p><a id="X80A23E668343440B" name="X80A23E668343440B"></a></p>
<h4>6.3 <span class="Heading">Complexes: Properties</span></h4>
<p><a id="X7C668F517AEB1F99" name="X7C668F517AEB1F99"></a></p>
<h5>6.3-1 IsSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsSequence</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if all maps in <var class="Arg">C</var> are well-defined.</p>
<p><a id="X856E7B4E8264E8F0" name="X856E7B4E8264E8F0"></a></p>
<h5>6.3-2 IsComplex</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsComplex</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if <var class="Arg">C</var> is complex.</p>
<p><a id="X847A62A6806046C4" name="X847A62A6806046C4"></a></p>
<h5>6.3-3 IsAcyclic</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsAcyclic</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is acyclic, i.e. exact except at its boundaries.</p>
<p><a id="X7F4927337891E086" name="X7F4927337891E086"></a></p>
<h5>6.3-4 IsRightAcyclic</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsRightAcyclic</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is acyclic, i.e. exact except at its left boundary.</p>
<p><a id="X8673124C83AA8FCC" name="X8673124C83AA8FCC"></a></p>
<h5>6.3-5 IsLeftAcyclic</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsLeftAcyclic</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is acyclic, i.e. exact except at its right boundary.</p>
<p><a id="X78FEA48B7839E683" name="X78FEA48B7839E683"></a></p>
<h5>6.3-6 IsGradedObject</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsGradedObject</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is a graded object, i.e. if all maps between the objects in <var class="Arg">C</var> vanish.</p>
<p><a id="X793465497B435197" name="X793465497B435197"></a></p>
<h5>6.3-7 IsExactSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsExactSequence</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is exact.</p>
<p><a id="X87ADD4F685457000" name="X87ADD4F685457000"></a></p>
<h5>6.3-8 IsShortExactSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsShortExactSequence</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is a short exact sequence.</p>
<p><a id="X7BAF581986905995" name="X7BAF581986905995"></a></p>
<h5>6.3-9 IsSplitShortExactSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsSplitShortExactSequence</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is a split short exact sequence.</p>
<p><a id="X84B794FB86C169CF" name="X84B794FB86C169CF"></a></p>
<h5>6.3-10 IsTriangle</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsTriangle</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Set to true if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is a triangle.</p>
<p><a id="X81E57EE37FC94539" name="X81E57EE37FC94539"></a></p>
<h5>6.3-11 IsExactTriangle</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsExactTriangle</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> or <code class="code">false</code></p>
<p>Check if the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> is an exact triangle.</p>
<p><a id="X7BC7B49D7F928DF8" name="X7BC7B49D7F928DF8"></a></p>
<h4>6.4 <span class="Heading">Complexes: Attributes</span></h4>
<p><a id="X7DE6E8D8875B515F" name="X7DE6E8D8875B515F"></a></p>
<h5>6.4-1 BettiTable</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; BettiTable</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> diagram</p>
<p>The Betti diagram of the <strong class="pkg">homalg</strong> complex <var class="Arg">C</var> of graded modules.</p>
<p><a id="X80EDFDD281834882" name="X80EDFDD281834882"></a></p>
<h5>6.4-2 FiltrationByShortExactSequence</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; FiltrationByShortExactSequence</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> diagram</p>
<p>The filtration induced by the short exact sequence <var class="Arg">C</var> on its middle object.</p>
<p><a id="X84E12E9C7A60D9BC" name="X84E12E9C7A60D9BC"></a></p>
<h4>6.5 <span class="Heading">Complexes: Operations and Functions</span></h4>
<p><a id="X7F10893B78FEDEB7" name="X7F10893B78FEDEB7"></a></p>
<h5>6.5-1 Add</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Add</code>( <var class="Arg">C</var>, <var class="Arg">phi</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">an style='color: green'>8227; Add</code>( <var class="Arg">C</var>, <var class="Arg">mat</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> complex</p>
<p>In the first syntax the morphism <var class="Arg">phi</var> is added to the (co)chain complex <var class="Arg">C</var> (--> <a href="chap6.html#X7B31FFA97FEE9B80"><span class="RefLink">6.2</span></a>) as the new <em>highest</em> degree morphism and the altered argument <var class="Arg">C</var> is returned. In case <var class="Arg">C</var> is a chain complex, the highest degree object in <var class="Arg">C</var> and the target of <var class="Arg">phi</var> must be <em>identical</em>. In case <var class="Arg">C</var> is a <em>co</em>chain complex, the highest degree object in <var class="Arg">C</var> and the source of <var class="Arg">phi</var> must be <em>identical</em>.</p>
<p>In the second syntax the matrix <var class="Arg">mat</var> is interpreted as the matrix of the new <em>highest</em> degree morphism <span class="SimpleMath">psi</span>, created according to the following rules: In case <var class="Arg">C</var> is a chain complex, the highest degree left (resp. right) object <span class="SimpleMath">C_d</span> in <var class="Arg">C</var> is declared as the target of <span class="SimpleMath">psi</span>, while its source is taken to be a free left (resp. right) object of rank equal to <code class="code">NumberRows</code>(<var class="Arg">mat</var>) (resp. <code class="code">NumberColumns</code>(<var class="Arg">mat</var>)). For this <code class="code">NumberColumns</code>(<var class="Arg">mat</var>) (resp. <code class="code">NumberRows</code>(<var class="Arg">mat</var>)) must coincide with the <code class="code">NrGenerators</code>(<span class="SimpleMath">C_d</span>). In case <var class="Arg">C</var> is a <em>co</em>chain complex, the highest degree left (resp. right) object <span class="SimpleMath">C^d</span> in <var class="Arg">C</var> is declared as the source of <span class="SimpleMath">psi</span>, while its target is taken to be a free left (resp. right) object of rank equal to <code class="code">NumberColumns</code>(<var class="Arg">mat</var>) (resp. <code class="code">NumberRows</code>(<var class="Arg">mat</var>)). For this <code class="code">NumberRows</code>(<var class="Arg">mat</var>) (resp. <code class="code">Columns</code>(<var class="Arg">mat</var>)) must coincide with the <code class="code">NrGenerators</code>(<span class="SimpleMath">C^d</span>).</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">mat := HomalgMatrix( "[ 0, 1, 0, 0 ]", 2, 2, zz );</span>
<A 2 x 2 matrix over an internal ring>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := HomalgMap( mat );</span>
<A homomorphism of left modules>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := HomalgComplex( phi );</span>
<A non-zero acyclic complex containing a single morphism of left modules at de\
grees [ 0 .. 1 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Add( C, mat );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">C;</span>
<A sequence containing 2 morphisms of left modules at degrees [ 0 .. 2 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C );</span>
-------------------------
at homology degree: 2
Z^(1 x 2)
-------------------------
[ [ 0, 1 ],
[ 0, 0 ] ]
the map is currently represented by the above 2 x 2 matrix
------------v------------
at homology degree: 1
Z^(1 x 2)
-------------------------
[ [ 0, 1 ],
[ 0, 0 ] ]
the map is currently represented by the above 2 x 2 matrix
------------v------------
at homology degree: 0
Z^(1 x 2)
-------------------------
<span class="GAPprompt">gap></span> <span class="GAPinput">IsComplex( C );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAcyclic( C );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsExactSequence( C );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">C;</span>
<A non-zero acyclic complex containing 2 morphisms of left modules at degrees
[ 0 .. 2 ]>
</pre></div>
<p><a id="X79677A407C9EF3A0" name="X79677A407C9EF3A0"></a></p>
<h5>6.5-2 ByASmallerPresentation</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ByASmallerPresentation</code>( <var class="Arg">C</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a <strong class="pkg">homalg</strong> complex</p>
<p>It invokes <code class="code">ByASmallerPresentation</code> for <strong class="pkg">homalg</strong> (static) objects.</p>
<div class="example"><pre>
InstallMethod( ByASmallerPresentation,
"for homalg complexes",
[ IsHomalgComplex ],
function( C )
List( ObjectsOfComplex( C ), ByASmallerPresentation );
if Length( ObjectDegreesOfComplex( C ) ) > 1 then
List( MorphismsOfComplex( C ), DecideZero );
fi;
IsZero( C );
return C;
end );
</pre></div>
<p>This method performs side effects on its argument <var class="Arg">C</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>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 2, 4, 6, \</span>
<span class="GAPprompt">></span> <span class="GAPinput">0, 3, 6, 9 \</span>
<span class="GAPprompt">></span> <span class="GAPinput">]", 3, 4, zz );</span>
<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">C := HomalgComplex( phi );</span>
<A non-zero acyclic complex containing a single morphism of left modules at de\
grees [ 0 .. 1 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C );</span>
-------------------------
at homology degree: 1
[ [ 2, 3, 4 ],
[ 5, 6, 7 ] ]
Cokernel of the map
Z^(1x2) --> Z^(1x3),
currently represented by the above matrix
-------------------------
[ [ 0, 3, 6, 9 ],
[ 0, 2, 4, 6 ],
[ 0, 3, 6, 9 ] ]
the map is currently represented by the above 3 x 4 matrix
------------v------------
at homology degree: 0
[ [ 2, 3, 4, 5 ],
[ 6, 7, 8, 9 ] ]
Cokernel of the map
Z^(1x2) --> Z^(1x4),
currently represented by the above matrix
-------------------------
</pre></div>
<p>And now:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ByASmallerPresentation( C );</span>
<A non-zero acyclic complex containing a single morphism of left modules at de\
grees [ 0 .. 1 ]>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C );</span>
-------------------------
at homology degree: 1
Z/< 3 > + Z^(1 x 1)
-------------------------
[ [ 0, 0, 0 ],
[ 2, 0, 0 ] ]
the map is currently represented by the above 2 x 3 matrix
------------v------------
at homology degree: 0
Z/< 4 > + Z^(1 x 2)
-------------------------
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap5.html">[Previous Chapter]</a> <a href="chap7.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="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chapA.html">A</a> <a href="chapB.html">B</a> <a href="chapC.html">C</a> <a href="chapD.html">D</a> <a href="chapE.html">E</a> <a href="chapF.html">F</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>
¤ Dauer der Verarbeitung: 0.22 Sekunden
¤
*© Formatika GbR, Deutschland
|
|