<?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>BettiTally -- the class of all Betti tallies</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_between_lp__Thing_cm__Visible__List_rp.html">next</a> | <a href="_betti_lp__Module_rp.html">previous</a> | <a href="_between_lp__Thing_cm__Visible__List_rp.html">forward</a> | <a href="_betti_lp__Module_rp.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>BettiTally -- the class of all Betti tallies</h1> <div class="single"><h2>Description</h2> <div>A Betti tally is a special type of <a href="___Tally.html" title="the class of all tally results">Tally</a> that is printed as a display of graded Betti numbers. The class was created so the function <a href="_betti.html" title="display degrees">betti</a> could return something that both prints nicely and from which information can be extracted. The keys are triples <tt>(i,d,h)</tt>, where <tt>i</tt> is the homological degree, <tt>d</tt> is a list of integers giving a multidegree, and <tt>h</tt> is the result of applying a weight covector to <tt>d</tt>. Only <tt>i</tt> and <tt>h</tt> are used in printing.<table class="examples"><tr><td><pre>i1 : t = new BettiTally from { (0,{0},0) => 1, (1,{1},1) => 2, (2,{3},3) => 3, (2,{4},4) => 4 } 0 1 2 o1 = total: 1 2 7 0: 1 2 . 1: . . 3 2: . . 4 o1 : BettiTally</pre> </td></tr> <tr><td><pre>i2 : peek oo o2 = BettiTally{(0, {0}, 0) => 1} (1, {1}, 1) => 2 (2, {3}, 3) => 3 (2, {4}, 4) => 4</pre> </td></tr> </table> For convenience, the operations of direct sum (<a href="__pl_pl.html" title="a binary operator, usually used for direct sum">++</a>), tensor product (<a href="__st_st.html" title="a binary operator, usually used for tensor product or Cartesian product">**</a>), <a href="_codim.html" title="compute the codimension">codim</a>, <a href="_degree.html" title="">degree</a>, <a href="_dual.html" title="dual module or map">dual</a>, <a href="_hilbert__Polynomial.html" title="compute the Hilbert polynomial">hilbertPolynomial</a>, <a href="_hilbert__Series.html" title="compute the Hilbert series">hilbertSeries</a>, <a href="_pdim.html" title="calculate the projective dimension">pdim</a>, <a href="_poincare.html" title="assemble degrees into polynomial">poincare</a>, <a href="_regularity.html" title="compute the Castelnuovo-Mumford regularity">regularity</a>, and degree shifting (numbers in brackets or parentheses), have been implemented for Betti tallies. These operations mimic the corresponding operations on chain complexes.<table class="examples"><tr><td><pre>i3 : t(5) 0 1 2 o3 = total: 1 2 7 -5: 1 2 . -4: . . 3 -3: . . 4 o3 : BettiTally</pre> </td></tr> <tr><td><pre>i4 : t[-5] 5 6 7 o4 = total: 1 2 7 -5: 1 2 . -4: . . 3 -3: . . 4 o4 : BettiTally</pre> </td></tr> <tr><td><pre>i5 : t ++ oo 0 1 2 3 4 5 6 7 o5 = total: 1 2 7 . . 1 2 7 -5: . . . . . 1 2 . -4: . . . . . . . 3 -3: . . . . . . . 4 -2: . . . . . . . . -1: . . . . . . . . 0: 1 2 . . . . . . 1: . . 3 . . . . . 2: . . 4 . . . . . o5 : BettiTally</pre> </td></tr> <tr><td><pre>i6 : t ** t 0 1 2 3 4 o6 = total: 1 4 18 28 49 0: 1 4 4 . . 1: . . 6 12 . 2: . . 8 16 9 3: . . . . 24 4: . . . . 16 o6 : BettiTally</pre> </td></tr> <tr><td><pre>i7 : dual t -2 -1 0 o7 = total: 7 2 1 -2: 4 . . -1: 3 . . 0: . 2 1 o7 : BettiTally</pre> </td></tr> <tr><td><pre>i8 : regularity t o8 = 2</pre> </td></tr> </table> A Betti tally can be multiplied by an integer or by a rational number, and the values can be lifted to integers, when possible.<table class="examples"><tr><td><pre>i9 : (1/2) * t 0 1 2 o9 = total: 1/2 1 7/2 0: 1/2 1 . 1: . . 3/2 2: . . 2 o9 : BettiTally</pre> </td></tr> <tr><td><pre>i10 : 2 * oo 0 1 2 o10 = total: 1 2 7 0: 1 2 . 1: . . 3 2: . . 4 o10 : BettiTally</pre> </td></tr> <tr><td><pre>i11 : lift(oo,ZZ) 0 1 2 o11 = total: 1 2 7 0: 1 2 . 1: . . 3 2: . . 4 o11 : BettiTally</pre> </td></tr> </table> Various combinations of the degree vectors can be displayed by using <a href="_betti_lp__Betti__Tally_rp.html" title="view and set the weights of a betti display">betti(BettiTally)</a>.</div> </div> <div class="waystouse"><h2>Functions and methods returning a Betti tally :</h2> <ul><li><span><a href="_betti.html" title="display degrees">betti</a> -- display degrees</span></li> </ul> <h2>Methods that use a Betti tally :</h2> <ul><li><span>BettiTally == BettiTally, see <span><a href="__eq_eq.html" title="equality">==</a> -- equality</span></span></li> <li><span><a href="_betti_lp__Betti__Tally_rp.html" title="view and set the weights of a betti display">betti(BettiTally)</a> -- view and set the weights of a betti display</span></li> <li>BettiTally ** BettiTally</li> <li>BettiTally ++ BettiTally</li> <li>BettiTally Array</li> <li>BettiTally ZZ</li> <li>codim(BettiTally)</li> <li>degree(BettiTally)</li> <li>dual(BettiTally)</li> <li>hilbertPolynomial(ZZ,BettiTally)</li> <li>hilbertSeries(ZZ,BettiTally)</li> <li>lift(BettiTally,type of ZZ)</li> <li>pdim(BettiTally)</li> <li>poincare(BettiTally)</li> <li>QQ * BettiTally</li> <li>regularity(BettiTally)</li> <li>ZZ * BettiTally</li> </ul> </div> <div class="waystouse"><h2>For the programmer</h2> <p>The object <a href="___Betti__Tally.html" title="the class of all Betti tallies">BettiTally</a> is <span>a <a href="___Type.html">type</a></span>, with ancestor classes <a href="___Virtual__Tally.html" title="">VirtualTally</a> < <a href="___Tally.html" title="the class of all tally results">Tally</a> < <a href="___Hash__Table.html" title="the class of all hash tables">HashTable</a> < <a href="___Thing.html" title="the class of all things">Thing</a>.</p> </div> </div> </body> </html>