Sophie

Sophie

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

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>making modules from matrices</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_manipulating_spmodules.html">next</a> | <a href="_make__Package__Index.html">previous</a> | <a href="_manipulating_spmodules.html">forward</a> | <a href="_make__Package__Index.html">backward</a> | up | <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>
<hr/>
<div><h1>making modules from matrices</h1>
<div>Let's make some matrices.<table class="examples"><tr><td><pre>i1 : R = ZZ/101[a..c];</pre>
</td></tr>
<tr><td><pre>i2 : f = vars R

o2 = | a b c |

             1       3
o2 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
We can easily compute a <a href="_kernel.html" title="kernel of a ringmap, matrix, or chain complex">kernel</a>, <a href="_image.html" title="image of a map">image</a> or <tt>cokernel</tt>.<table class="examples"><tr><td><pre>i3 : ker f

o3 = image {1} | -b 0  -c |
           {1} | a  -c 0  |
           {1} | 0  b  a  |

                             3
o3 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i4 : coker f

o4 = cokernel | a b c |

                            1
o4 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i5 : image f

o5 = image | a b c |

                             1
o5 : R-module, submodule of R</pre>
</td></tr>
</table>
Every module is represented internally as a submodule of a quotient module.  Such modules often appear in computations, for example, when taking the direct sum of a quotient module and a submodule.<table class="examples"><tr><td><pre>i6 : image f ++ coker f

o6 = subquotient (| a b c 0 |, | 0 0 0 |)
                  | 0 0 0 1 |  | a b c |

                               2
o6 : R-module, subquotient of R</pre>
</td></tr>
</table>
We may use <a href="_subquotient.html" title="make a subquotient module">subquotient</a> to make such modules directly, although it's usually more convenient to use other operations.  The first argument is the matrix whose columns are the generators, and the second argument is the matrix whose columns are the relations.<table class="examples"><tr><td><pre>i7 : M = subquotient(f, matrix {{a}})

o7 = subquotient (| a b c |, | a |)

                               1
o7 : R-module, subquotient of R</pre>
</td></tr>
<tr><td><pre>i8 : prune M

o8 = cokernel {1} | a -c 0 |
              {1} | 0 b  a |

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