Macaulay2 / M2

The primary source code repository for Macaulay2, a system for computing in commutative algebra, algebraic geometry and related fields.
https://macaulay2.com
350 stars 235 forks source link

'betti' is unaware of maps with nonzero degree #647

Open DanGrayson opened 7 years ago

DanGrayson commented 7 years ago

... so it leads to silly displays like this:


i16 : f = map(R^{0}, R^{ 5 }, {{1}}, Degree => 5)

o16 = | 1 |

              1       1
o16 : Matrix R  <--- R

i17 : isHomogeneous f

o17 = true

i18 : betti f

             0 1
o18 = total: 1 1
         -6: . 1
         -5: . .
         -4: . .
         -3: . .
         -2: . .
         -1: . .
          0: 1 .

o18 : BettiTally
mahrud commented 3 years ago

What about this is silly, exactly?

DanGrayson commented 3 years ago

The big difference of degrees between the two free modules is artificial. From the betti display, you might expect the entry in the matrix to be a ring element of degree 5, but it's not.

mahrud commented 3 years ago

Isn't the matrix just ill-defined? Maybe isHomogeneous or isWellDefined should fail, but this still works:

i3 : betti gb f

            0 1
o3 = total: 1 1
        -1: . 1
         0: 1 .
DanGrayson commented 3 years ago

In the following example, f and g are both well defined and homogeneous, but the betti displays look different. I think that's odd.


i1 : R = QQ[x]

o1 = R

o1 : PolynomialRing

i2 : f = map(R^1, R^1, {{x}}, Degree => 1);

             1       1
o2 : Matrix R  <--- R

i3 : isHomogeneous f

o3 = true

i4 : betti f

            0 1
o4 = total: 1 1
        -1: . 1
         0: 1 .

o4 : BettiTally

i5 : g = map(R^1, R^{-1}, {{x}}, Degree => 0);

             1       1
o5 : Matrix R  <--- R

i6 : isHomogeneous g

o6 = true

i7 : betti g

            0 1
o7 = total: 1 1
         0: 1 1

o7 : BettiTally
mahrud commented 3 years ago

And what I suggested is that isHomogeneous should have returned false for both of them! The documentation says:

A matrix is homogeneous if each entry is homogeneous of such a degree that the matrix has a well-defined degree.

And this is clearly not the case for the matrices you gave, because they don't define a graded map of free modules.

DanGrayson commented 3 years ago

That's vague documentation. The two maps are homogeneous and define graded maps of free modules.

mahrud commented 3 years ago

How do you define a graded complex? I don't think your matrices can appear in a graded complex in a standard graded ring, hence I don't think they are homogeneous.

DanGrayson commented 3 years ago

Why can't they appear?

mahrud commented 3 years ago

I think of a graded complex as a direct sum of complexes of vector spaces with maps of degree zero. A chain complex containing your maps can't be written this way.

DanGrayson commented 3 years ago

No, the entries should be Q[x]-modules.

mahrud commented 3 years ago

How do you define a graded module M? Is it not a direct sum of vector spaces M_d for each d in the degree ring?