Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/standardff/lib/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 13.8.2023 mit Größe 1 kB image not shown  

Quelle  chap6_mj.html   Sprache: unbekannt

 
<?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>
<script type="text/javascript"
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<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_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chapA_mj.html">A</a>  <a href="chapB_mj.html">B</a>  <a href="chapC_mj.html">C</a>  <a href="chapD_mj.html">D</a>  <a href="chapE_mj.html">E</a>  <a href="chapF_mj.html">F</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap5_mj.html">[Previous Chapter]</a>    <a href="chap7_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap6.html">[MathJax off]</a></p>
<p><a id="X79C388D385DB7CD1" name="X79C388D385DB7CD1"></a></p>
<div class="ChapSects"><a href="chap6_mj.html#X79C388D385DB7CD1">6 <span class="Heading">Complexes</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.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_mj.html#X8166F9FD7BFDA207">6.1-1 IsHomalgComplex</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X825B40448449FFF6">6.1-2 IsComplexOfFinitelyPresentedObjectsRep</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X7B0613FF7A702D48">6.1-3 IsCocomplexOfFinitelyPresentedObjectsRep</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.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_mj.html#X7C0D9D0178477517">6.2-1 HomalgComplex</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X82E0E9D17E29A67B">6.2-2 HomalgCocomplex</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.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_mj.html#X7C668F517AEB1F99">6.3-1 IsSequence</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X856E7B4E8264E8F0">6.3-2 IsComplex</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X847A62A6806046C4">6.3-3 IsAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X7F4927337891E086">6.3-4 IsRightAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X8673124C83AA8FCC">6.3-5 IsLeftAcyclic</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X78FEA48B7839E683">6.3-6 IsGradedObject</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X793465497B435197">6.3-7 IsExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X87ADD4F685457000">6.3-8 IsShortExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X7BAF581986905995">6.3-9 IsSplitShortExactSequence</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X84B794FB86C169CF">6.3-10 IsTriangle</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X81E57EE37FC94539">6.3-11 IsExactTriangle</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.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_mj.html#X7DE6E8D8875B515F">6.4-1 BettiTable</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.html#X80EDFDD281834882">6.4-2 FiltrationByShortExactSequence</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap6_mj.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_mj.html#X7F10893B78FEDEB7">6.5-1 Add</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap6_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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_mj.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</varis 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_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap5_mj.html">[Previous Chapter]</a>    <a href="chap7_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chap10_mj.html">10</a>  <a href="chap11_mj.html">11</a>  <a href="chap12_mj.html">12</a>  <a href="chapA_mj.html">A</a>  <a href="chapB_mj.html">B</a>  <a href="chapC_mj.html">C</a>  <a href="chapD_mj.html">D</a>  <a href="chapE_mj.html">E</a>  <a href="chapF_mj.html">F</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.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>

Messung V0.5
C=92 H=98 G=94

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]