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

Quelle  chap6.html   Sprache: HTML

 
 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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</strongobject <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 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 );
<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">‣ 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">‣ 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">‣ 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">‣ 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</strongobject <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 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 );
<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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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 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 );
<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>

100%


¤ Dauer der Verarbeitung: 0.20 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.