Sophie

Sophie

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

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>basis -- basis of all or part of a module or ring</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_exterior_sppower_spof_spa_spmodule.html">next</a> | <a href="___Hilbert_spfunctions_spand_spfree_spresolutions.html">previous</a> | <a href="_exterior_sppower_spof_spa_spmodule.html">forward</a> | <a href="___Hilbert_spfunctions_spand_spfree_spresolutions.html">backward</a> | <a href="_modules.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="_modules.html" title="">modules</a> > <a href="_basis.html" title="basis of all or part of a module or ring">basis</a></div>
<hr/>
<div><h1>basis -- basis of all or part of a module or ring</h1>
<div class="single"><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>basis(i,M)</tt></div>
</dd></dl>
</div>
</li>
<li><div class="single">Inputs:<ul><li><span><tt>i</tt>, a list of integers to serve as a degree or multidegree</span></li>
<li><span><tt>M</tt>, <span>a <a href="___Module.html">module</a></span>, <span>a <a href="___Ring.html">ring</a></span>, or <span>an <a href="___Ideal.html">ideal</a></span>.  If <tt>M</tt> is a ring, it is replaced by the free module of rank 1.  If <tt>M</tt> is an ideal, it is replaced by its underlying module over the ring it is contained in.</span></li>
</ul>
</div>
</li>
<li><div class="single">Outputs:<ul><li><span><span>a <a href="___Matrix.html">matrix</a></span>, a map from a free module over the ring specified by the <a href="___Source__Ring.html" title="name for an optional argument">SourceRing</a> option, or over the ring of <tt>M</tt> if the option was not used, to <tt>M</tt> which sends the basis elements of the free module to a basis (over the coefficient field) of the degree <tt>i</tt> part of <tt>M</tt></span></li>
</ul>
</div>
</li>
<li><div class="single"><a href="_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><tt>Limit => </tt><span><span>an <a href="___Z__Z.html">integer</a></span>, <span>default value -1</span>, the maximum number of basis elements to find</span></span></li>
<li><span><tt>Truncate => </tt><span><span>a <a href="___Boolean.html">Boolean value</a></span>, <span>default value false</span>, whether to add additional generators to the basis sufficient to generate the submodule of <tt>M</tt> generated by all elements of degree at least <tt>i</tt>.  If true, the degree rank must be equal to 1.  This option is intended mainly for internal use by <a href="_truncate.html" title="truncate the module at a specified degree">truncate</a>.</span></span></li>
<li><span><tt>Variables => </tt><span><span>a <a href="___List.html">list</a></span>, <span>default value null</span>, a list of variables; only basis elements involving only these variables will be reported</span></span></li>
<li><span><tt>SourceRing => </tt><span><span>a <a href="___Ring.html">ring</a></span>, <span>default value null</span>, the ring to use as the ring of the source of the map produced; by default, this is the same as the ring of <tt>M</tt>.</span></span></li>
</ul>
</div>
</li>
</ul>
</div>
<div class="single"><h2>Description</h2>
<div><p>The degree <tt>i</tt> is a multi-degree, represented as a list of integers.  If the degree rank is 1, then <tt>i</tt> may be provided as an integer.</p>
<p>The algorithm uses the heft vector of the ring, and cannot proceed without one; see <a href="_heft_spvectors.html" title="">heft vectors</a>.</p>
<table class="examples"><tr><td><pre>i1 : R = ZZ/101[a..c];</pre>
</td></tr>
<tr><td><pre>i2 : basis(2, R)

o2 = | a2 ab ac b2 bc c2 |

             1       6
o2 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i3 : M = ideal(a,b,c)/ideal(a^2,b^2,c^2)

o3 = subquotient (| a b c |, | a2 b2 c2 |)

                               1
o3 : R-module, subquotient of R</pre>
</td></tr>
<tr><td><pre>i4 : f = basis(2,M)

o4 = {1} | b c 0 |
     {1} | 0 0 c |
     {1} | 0 0 0 |

o4 : Matrix</pre>
</td></tr>
</table>
<p>Notice that the matrix of <tt>f</tt> above is expressed in terms of the generators of <tt>M</tt>.  The reason is that the module <tt>M</tt> is the target of the map <tt>f</tt>, and matrices of maps such as <tt>f</tt> are always expressed in terms of the generators of the source and target.</p>
<table class="examples"><tr><td><pre>i5 : target f

o5 = subquotient (| a b c |, | a2 b2 c2 |)

                               1
o5 : R-module, subquotient of R</pre>
</td></tr>
</table>
<p>The command <a href="_super.html" title="get the ambient module">super</a> is useful for rewriting <tt>f</tt> in terms of the generators of module of which <tt>M</tt> is a submodule.</p>
<table class="examples"><tr><td><pre>i6 : super f

o6 = | ab ac bc |

o6 : Matrix</pre>
</td></tr>
</table>
<p>When a ring is multi-graded, we specify the degree as a list of integers.</p>
<table class="examples"><tr><td><pre>i7 : S = ZZ/101[x,y,z,Degrees=>{{1,3},{1,4},{1,-1}}];</pre>
</td></tr>
<tr><td><pre>i8 : basis({7,24}, S)

o8 = | x4y3 |

             1       1
o8 : Matrix S  &lt;--- S</pre>
</td></tr>
</table>
<p>Here is an example showing the use of the <a href="___Source__Ring.html" title="name for an optional argument">SourceRing</a> option.  Using a ring of different degree length as the source ring is currently not well supported, because the graded free modules may not lift.</p>
<table class="examples"><tr><td><pre>i9 : R = QQ[x]/x^6;</pre>
</td></tr>
<tr><td><pre>i10 : f = basis(R,SourceRing => ambient R)

o10 = | 1 x x2 x3 x4 x5 |

              1             6
o10 : Matrix R  &lt;--- (QQ[x])</pre>
</td></tr>
<tr><td><pre>i11 : coimage f

o11 = cokernel {0} | x  0  0  0  0  0 |
               {1} | -1 x  0  0  0  0 |
               {2} | 0  -1 x  0  0  0 |
               {3} | 0  0  -1 x  0  0 |
               {4} | 0  0  0  -1 x  0 |
               {5} | 0  0  0  0  -1 x |

                                       6
o11 : QQ[x]-module, quotient of (QQ[x])</pre>
</td></tr>
<tr><td><pre>i12 : kernel f

o12 = image {0} | x  0  0  0  0  0 |
            {1} | -1 x  0  0  0  0 |
            {2} | 0  -1 x  0  0  0 |
            {3} | 0  0  -1 x  0  0 |
            {4} | 0  0  0  -1 x  0 |
            {5} | 0  0  0  0  -1 x |

                                        6
o12 : QQ[x]-module, submodule of (QQ[x])</pre>
</td></tr>
<tr><td><pre>i13 : g = basis(R,SourceRing => QQ)

o13 = | 1 x x2 x3 x4 x5 |

              1        6
o13 : Matrix R  &lt;--- QQ</pre>
</td></tr>
<tr><td><pre>i14 : coimage g

        6
o14 = QQ

o14 : QQ-module, free</pre>
</td></tr>
<tr><td><pre>i15 : kernel g

o15 = image 0

                                6
o15 : QQ-module, submodule of QQ</pre>
</td></tr>
</table>
<p>In some situations it may be desirable to retain the degrees of the generators, so a ring such as <tt>QQ[]</tt>, which has degree length 1, can serve the purpose.</p>
<table class="examples"><tr><td><pre>i16 : degrees source g

o16 = {{}, {}, {}, {}, {}, {}}

o16 : List</pre>
</td></tr>
<tr><td><pre>i17 : A = QQ[];</pre>
</td></tr>
<tr><td><pre>i18 : h = basis(R,SourceRing => A)

o18 = | 1 x x2 x3 x4 x5 |

              1       6
o18 : Matrix R  &lt;--- A</pre>
</td></tr>
<tr><td><pre>i19 : degrees source h

o19 = {{0}, {1}, {2}, {3}, {4}, {5}}

o19 : List</pre>
</td></tr>
<tr><td><pre>i20 : coimage h

       6
o20 = A

o20 : A-module, free, degrees {0, 1, 2, 3, 4, 5}</pre>
</td></tr>
<tr><td><pre>i21 : kernel h

o21 = image 0

                              6
o21 : A-module, submodule of A</pre>
</td></tr>
</table>
<div><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>basis M</tt></div>
</dd></dl>
</div>
</li>
<li>Inputs:<ul><li><span><tt>M</tt>, <span>a <a href="___Module.html">module</a></span> or <span>a <a href="___Ring.html">ring</a></span></span></li>
</ul>
</li>
<li>Outputs:<ul><li><span>a map from a free module to <tt>M</tt> which sends the basis elements to a basis, over the coefficient field, of <tt>M</tt></span></li>
</ul>
</li>
</ul>
<table class="examples"><tr><td><pre>i22 : R = QQ[x,y,z]/(x^2,y^3,z^5)

o22 = R

o22 : QuotientRing</pre>
</td></tr>
<tr><td><pre>i23 : basis R

o23 = | 1 x xy xy2 xy2z xy2z2 xy2z3 xy2z4 xyz xyz2 xyz3 xyz4 xz xz2 xz3 xz4 y
      -----------------------------------------------------------------------
      y2 y2z y2z2 y2z3 y2z4 yz yz2 yz3 yz4 z z2 z3 z4 |

              1       30
o23 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
</div>
<div><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>basis(lo,hi,M)</tt></div>
</dd></dl>
</div>
</li>
<li>Inputs:<ul><li><span><tt>M</tt>, <span>a <a href="___Module.html">module</a></span>, <span>a <a href="___Ring.html">ring</a></span>, or <span>an <a href="___Ideal.html">ideal</a></span></span></li>
<li><span><tt>lo</tt>, <span>an <a href="___Z__Z.html">integer</a></span>, <span>a <a href="___List.html">list</a></span>, or <span>an <a href="___Infinite__Number.html">infinite number</a></span></span></li>
<li><span><tt>hi</tt>, <span>an <a href="___Z__Z.html">integer</a></span>, <span>a <a href="___List.html">list</a></span>, or <span>an <a href="___Infinite__Number.html">infinite number</a></span></span></li>
</ul>
</li>
<li>Outputs:<ul><li><span>a map from a free module to <tt>M</tt> which sends the basis elements to a basis, over the ground field, of the part of <tt>M</tt> spanned by elements of degrees between <tt>lo</tt> and <tt>hi</tt>.  The degree rank must be 1.</span></li>
</ul>
</li>
</ul>
<table class="examples"><tr><td><pre>i24 : R = QQ[x,y,z]/(x^3,y^2,z^5);</pre>
</td></tr>
<tr><td><pre>i25 : basis R

o25 = | 1 x x2 x2y x2yz x2yz2 x2yz3 x2yz4 x2z x2z2 x2z3 x2z4 xy xyz xyz2 xyz3
      -----------------------------------------------------------------------
      xyz4 xz xz2 xz3 xz4 y yz yz2 yz3 yz4 z z2 z3 z4 |

              1       30
o25 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i26 : basis(-infinity,4,R)

o26 = | 1 x x2 x2y x2yz x2z x2z2 xy xyz xyz2 xz xz2 xz3 y yz yz2 yz3 z z2 z3
      -----------------------------------------------------------------------
      z4 |

              1       21
o26 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i27 : basis(5,infinity,R)

o27 = | x2yz2 x2yz3 x2yz4 x2z3 x2z4 xyz3 xyz4 xz4 yz4 |

              1       9
o27 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i28 : basis(2,4,R)

o28 = | x2 x2y x2yz x2z x2z2 xy xyz xyz2 xz xz2 xz3 yz yz2 yz3 z2 z3 z4 |

              1       17
o28 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
</div>
</div>
</div>
<div class="waystouse"><h2>Ways to use <tt>basis</tt> :</h2>
<ul><li>basis(Ideal)</li>
<li>basis(InfiniteNumber,InfiniteNumber,Ideal)</li>
<li>basis(InfiniteNumber,InfiniteNumber,Module)</li>
<li>basis(InfiniteNumber,InfiniteNumber,Ring)</li>
<li>basis(InfiniteNumber,List,Ideal)</li>
<li>basis(InfiniteNumber,List,Module)</li>
<li>basis(InfiniteNumber,List,Ring)</li>
<li>basis(InfiniteNumber,ZZ,Ideal)</li>
<li>basis(InfiniteNumber,ZZ,Module)</li>
<li>basis(InfiniteNumber,ZZ,Ring)</li>
<li>basis(List,Ideal)</li>
<li>basis(List,InfiniteNumber,Ideal)</li>
<li>basis(List,InfiniteNumber,Module)</li>
<li>basis(List,InfiniteNumber,Ring)</li>
<li>basis(List,List,Ideal)</li>
<li>basis(List,List,Module)</li>
<li>basis(List,List,Ring)</li>
<li>basis(List,Module)</li>
<li>basis(List,Ring)</li>
<li>basis(List,ZZ,Ideal)</li>
<li>basis(List,ZZ,Ring)</li>
<li>basis(Module)</li>
<li>basis(Ring)</li>
<li>basis(ZZ,Ideal)</li>
<li>basis(ZZ,InfiniteNumber,Ideal)</li>
<li>basis(ZZ,InfiniteNumber,Module)</li>
<li>basis(ZZ,InfiniteNumber,Ring)</li>
<li>basis(ZZ,List,Ideal)</li>
<li>basis(ZZ,List,Ring)</li>
<li>basis(ZZ,Module)</li>
<li>basis(ZZ,Ring)</li>
<li>basis(ZZ,ZZ,Ideal)</li>
<li>basis(ZZ,ZZ,Module)</li>
<li>basis(ZZ,ZZ,Ring)</li>
</ul>
</div>
</div>
</body>
</html>