<?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>janetBasis -- compute Janet basis for an ideal or a submodule of a free module</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_janet__Mult__Var.html">next</a> | <a href="_is__Pommaret__Basis.html">previous</a> | <a href="_janet__Mult__Var.html">forward</a> | <a href="_is__Pommaret__Basis.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>janetBasis -- compute Janet basis for an ideal or a submodule of a free module</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>J = janetBasis M or J = janetBasis(C,n)</tt></div> </dd></dl> </div> </li> <li><div class="single">Inputs:<ul><li><span><tt>M</tt>, <span>an object of class <a href="___Involutive__Basis.html" title="the class of all involutive bases">InvolutiveBasis</a></span></span></li> <li><span><tt>M</tt>, <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span></span></li> <li><span><tt>M</tt>, <span>a <a href="../../Macaulay2Doc/html/___Groebner__Basis.html">Groebner basis</a></span></span></li> <li><span><tt>C</tt>, <span>a <a href="../../Macaulay2Doc/html/___Chain__Complex.html">chain complex</a></span></span></li> <li><span><tt>n</tt>, <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span></span></li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>J</tt>, <span>an object of class <a href="___Involutive__Basis.html" title="the class of all involutive bases">InvolutiveBasis</a></span></span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><p>If the argument for janetBasis is <span>a <a href="../../Macaulay2Doc/html/___Matrix.html">matrix</a></span> or <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span> or <span>a <a href="../../Macaulay2Doc/html/___Groebner__Basis.html">Groebner basis</a></span>, then J is a Janet basis for (the module generated by) M.</p> <p>If the arguments for janetBasis are <span>a <a href="../../Macaulay2Doc/html/___Chain__Complex.html">chain complex</a></span> and <span>an <a href="../../Macaulay2Doc/html/___Z__Z.html">integer</a></span>, where C is the result of either <a href="_janet__Resolution.html" title="construct a free resolution for a given ideal or module using Janet bases">janetResolution</a> or <a href="../../Macaulay2Doc/html/_resolution.html" title="projective resolution">resolution</a> called with the optional argument 'Strategy => Involutive', then J is the Janet basis extracted from the n-th differential of C.</p> <table class="examples"><tr><td><pre>i1 : R = QQ[x,y];</pre> </td></tr> <tr><td><pre>i2 : I = ideal(x^3,y^2); o2 : Ideal of R</pre> </td></tr> <tr><td><pre>i3 : J = janetBasis I;</pre> </td></tr> <tr><td><pre>i4 : basisElements J o4 = | y2 xy2 x3 x2y2 | 1 4 o4 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i5 : multVar J o5 = {set {y}, set {y}, set {x, y}, set {y}} o5 : List</pre> </td></tr> </table> <table class="examples"><tr><td><pre>i6 : R = QQ[x,y];</pre> </td></tr> <tr><td><pre>i7 : M = matrix {{x*y-y^3, x*y^2, x*y-x}, {x, y^2, x}}; 2 3 o7 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i8 : J = janetBasis M;</pre> </td></tr> <tr><td><pre>i9 : basisElements J o9 = | y3-x xy-x x2y-x2 x3 -x x2 -x2 0 | | 0 x x2 x2 xy-y2+x y3 x2y-xy2+x2 x3+2x2+y2 | 2 8 o9 : Matrix R <--- R</pre> </td></tr> <tr><td><pre>i10 : multVar J o10 = {set {y}, set {y}, set {y}, set {x, y}, set {y}, set {y}, set {y}, set ----------------------------------------------------------------------- {x, y}} o10 : List</pre> </td></tr> </table> <table class="examples"><tr><td><pre>i11 : R = QQ[x,y,z];</pre> </td></tr> <tr><td><pre>i12 : I = ideal(x,y,z); o12 : Ideal of R</pre> </td></tr> <tr><td><pre>i13 : C = res(I, Strategy => Involutive) 1 3 3 1 o13 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o13 : ChainComplex</pre> </td></tr> <tr><td><pre>i14 : janetBasis(C, 2) +----------+---------+ o14 = |{1} | -y ||{z, y, x}| |{1} | x || | |{1} | 0 || | +----------+---------+ |{1} | -z ||{z, y, x}| |{1} | 0 || | |{1} | x || | +----------+---------+ |{1} | 0 ||{z, y} | |{1} | -z || | |{1} | y || | +----------+---------+ o14 : InvolutiveBasis</pre> </td></tr> </table> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_janet__Mult__Var.html" title="return table of multiplicative variables for given module elements as determined by Janet division">janetMultVar</a> -- return table of multiplicative variables for given module elements as determined by Janet division</span></li> <li><span><a href="_pommaret__Mult__Var.html" title="return table of multiplicative variables for given module elements as determined by Pommaret division">pommaretMultVar</a> -- return table of multiplicative variables for given module elements as determined by Pommaret division</span></li> <li><span><a href="_is__Pommaret__Basis.html" title="check whether or not a given Janet basis is also a Pommaret basis">isPommaretBasis</a> -- check whether or not a given Janet basis is also a Pommaret basis</span></li> <li><span><a href="_inv__Reduce.html" title="compute normal form modulo involutive basis by involutive reduction">invReduce</a> -- compute normal form modulo involutive basis by involutive reduction</span></li> <li><span><a href="_inv__Syzygies.html" title="compute involutive basis of syzygies">invSyzygies</a> -- compute involutive basis of syzygies</span></li> <li><span><a href="_janet__Resolution.html" title="construct a free resolution for a given ideal or module using Janet bases">janetResolution</a> -- construct a free resolution for a given ideal or module using Janet bases</span></li> </ul> </div> <div class="waystouse"><h2>Ways to use <tt>janetBasis</tt> :</h2> <ul><li>janetBasis(ChainComplex,ZZ)</li> <li>janetBasis(GroebnerBasis)</li> <li>janetBasis(Ideal)</li> <li>janetBasis(Matrix)</li> <li><span><tt>janetBasis(Module)</tt> (missing documentation<!-- tag: (janetBasis,Module) -->)</span></li> </ul> </div> </div> </body> </html>