File: minimalBetti-doc.m2

package info (click to toggle)
macaulay2 1.17.1%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 68,376 kB
  • sloc: cpp: 102,995; ansic: 10,040; javascript: 6,019; sh: 3,506; makefile: 3,426; lisp: 727; yacc: 590; perl: 369; xml: 177; python: 141; lex: 65; awk: 3
file content (72 lines) | stat: -rw-r--r-- 2,948 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
doc ///
   Key
     (minimalBetti,Ideal)
     (minimalBetti,Module)
     minimalBetti
     [(minimalBetti,Ideal),Weights]
     [(minimalBetti,Module),Weights]
     [(minimalBetti,Ideal),DegreeLimit]
     [(minimalBetti,Module),DegreeLimit]
     [(minimalBetti,Ideal),LengthLimit]
     [(minimalBetti,Module),LengthLimit]
   Headline
     minimal betti numbers of (the mininimal free resolution of) a homogeneous ideal or module
   Usage
     B = minimalBetti I
     B = minimalBetti(I, DegreeLimit=>d, LengthLimit=>len)
   Inputs
     I:Ideal
       or @ofClass Module@, a homogeneous ideal or module in a singly graded 
       polynomial ring or skew commuting polynomial ring, over a finite prime field
     DegreeLimit=>ZZ
       if given, only compute enough to determine the Betti diagram up to and including the row labelled {\tt d}
     LengthLimit=>ZZ
       if given, only compute enough to determine the Betti diagram up to and including the column labelled {\tt len}
   Outputs
     :BettiTally
   Description
    Text
      Given a singly-graded module, this function
      computes the minimal betti numbers of the module.  If the 
      input is an ideal $I \subset S$, it computes the minimal betti numbers of
      $S^1/I$.

      The algorithm used is based on the @TO FastNonminimal@ algorithm,
      except that the complex is not constructed, resulting in a smaller memory footprint and often reduced computation time.
    Example
      I = Grassmannian(1,6, CoefficientRing => ZZ/101);
      S = ring I      
      elapsedTime C = minimalBetti I
    Text

      One can compute smaller parts of the Betti table, by using @TO DegreeLimit@ and/or @TO LengthLimit@.

    Example
      I = ideal I_*;
      elapsedTime C = minimalBetti(I, DegreeLimit=>2)
      I = ideal I_*;
      elapsedTime C = minimalBetti(I, DegreeLimit=>1, LengthLimit=>5)
      I = ideal I_*;
      elapsedTime C = minimalBetti(I, LengthLimit=>5)
    Text

      This function computes only as much of the non-minimal resolution as needed
      to compute the desired Betti numbers.  Further calls will generally not recompute
      previously computed parts of the resolution, except that if you ask for 
      a longer resolution than previously, it currently will recompute the resolution.
      This behavior might change in later releases.
    Text

      If one has already computed the non-minimal free resolution using 
      @TO FastNonminimal@, then one can use @TO [betti,Minimize]@, except that it doesn't currently
      have support for {\tt DegreeLimit} and {\tt LengthLimit}, and probably still computes more
      than is needed (it is still experimental).
   Caveat
     Released in M2 1.9.1, still experimental.  Only works over finite prime field.
     If the ideal or module is a non-homogeneous or multi-homogeneous object,
     then this function will result in an error.
   SeeAlso
     betti
     resolution
     FastNonminimal
///