Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 4696

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>manipulating chain complexes</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_maps_spbetween_spchain_spcomplexes.html">next</a> | <a href="_making_spchain_spcomplexes_spby_sphand.html">previous</a> | <a href="_maps_spbetween_spchain_spcomplexes.html">forward</a> | <a href="_making_spchain_spcomplexes_spby_sphand.html">backward</a> | <a href="_chain_spcomplexes.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<div><a href="index.html" title="">Macaulay2Doc</a> > <a href="_chain_spcomplexes.html" title="">chain complexes</a> > <a href="_manipulating_spchain_spcomplexes.html" title="">manipulating chain complexes</a></div>
<hr/>
<div><h1>manipulating chain complexes</h1>
<div>There are several natural ways to handle chain complexes; for details, see <a href="___Chain__Complex.html" title="the class of all chain complexes">ChainComplex</a>.  Let's illustrate by making two chain complexes.<table class="examples"><tr><td><pre>i1 : R = QQ[x,y];</pre>
</td></tr>
<tr><td><pre>i2 : M = coker vars R

o2 = cokernel | x y |

                            1
o2 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i3 : N = coker matrix {{x}}

o3 = cokernel | x |

                            1
o3 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i4 : C = res M

      1      2      1
o4 = R  &lt;-- R  &lt;-- R  &lt;-- 0
                           
     0      1      2      3

o4 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i5 : D = res N

      1      1
o5 = R  &lt;-- R  &lt;-- 0
                    
     0      1      2

o5 : ChainComplex</pre>
</td></tr>
</table>
We can form the direct sum as follows.<table class="examples"><tr><td><pre>i6 : C ++ D

      2      3      1
o6 = R  &lt;-- R  &lt;-- R  &lt;-- 0
                           
     0      1      2      3

o6 : ChainComplex</pre>
</td></tr>
</table>
We can shift the degree, using the traditional notation.<table class="examples"><tr><td><pre>i7 : E = C[5]

      1      2      1
o7 = R  &lt;-- R  &lt;-- R  &lt;-- 0
                           
     -5     -4     -3     -2

o7 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i8 : E_-4 == C_1

o8 = true</pre>
</td></tr>
</table>
The same syntax can be used to make a chain complex from a single module.<table class="examples"><tr><td><pre>i9 : R^4[1]

      4
o9 = R
      
     -1

o9 : ChainComplex</pre>
</td></tr>
</table>
We can form various tensor products with <a href="__st_st.html" title="a binary operator, usually used for tensor product or Cartesian product">**</a>, and compute <a href="___Tor.html" title="Tor module">Tor</a> using them.<table class="examples"><tr><td><pre>i10 : M ** D

o10 = cokernel | x y | &lt;-- cokernel {1} | x y |
                            
      0                    1

o10 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i11 : C ** D

       1      3      3      1
o11 = R  &lt;-- R  &lt;-- R  &lt;-- R  &lt;-- 0 &lt;-- 0
                                         
      0      1      2      3      4     5

o11 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i12 : prune HH_1(C ** D)

o12 = cokernel {1} | y x |

                             1
o12 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i13 : prune HH_1(M ** D)

o13 = cokernel {1} | y x |

                             1
o13 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i14 : prune HH_1(C ** N)

o14 = cokernel {1} | y x |

                             1
o14 : R-module, quotient of R</pre>
</td></tr>
</table>
Of course, we can use <a href="___Tor.html" title="Tor module">Tor</a> to get the same result.<table class="examples"><tr><td><pre>i15 : prune Tor_1(M,N)

o15 = cokernel {1} | y x |

                             1
o15 : R-module, quotient of R</pre>
</td></tr>
</table>
</div>
</div>
</body>
</html>