Consistency of BettiTally ZZ with nonstandard heft vectors
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
Here's a Betti table:
```m2
i1 : R = kk[x,y,z];
i2 : K = koszul vars R;
i3 : B = betti K
0 1 2 3
o3 = total: 1 3 3 1
0: 1 3 3 1
o3 : BettiTally
i4 : peek B
o4 = BettiTally{(0, {0}, 0) => 1}
(1, {1}, 1) => 3
(2, {2}, 2) => 3
(3, {3}, 3) => 1
```
The documentation says about the operations `BettiTally ZZ` and `BettiTally Array`:
> These operations mimic the corresponding operations on chain complexes.
However, compare the following:
```m2
i5 : B(10), peek B(10)
0 1 2 3
o5 = (total: 1 3 3 1, BettiTally{(0, {0}, -10) => 1})
-10: 1 3 3 1 (1, {1}, -9) => 3
(2, {2}, -8) => 3
(3, {3}, -7) => 1
o5 : Sequence
i6 : betti(K ** R^{10}), peek betti(K ** R^{10})
0 1 2 3
o6 = (total: 1 3 3 1, BettiTally{(0, {-10}, -10) => 1})
-10: 1 3 3 1 (1, {-9}, -9) => 3
(2, {-8}, -8) => 3
(3, {-7}, -7) => 1
o6 : Sequence
```
The reason is that `BettiTally ZZ` only shifts the weights, but not the multidegrees:
```m2
BettiTally ZZ := (C,n) -> applyKeys(C, (i,d,h) -> (i,d,h-n))
```
So I'm wondering whether the multidegrees should have been shifted as well.
In fact, I imagine I would have _only_ shifted the multidegrees, because if the ring has nonstandard heft vector, the effects of shifting the multidegrees of the complex by N is not going to simply shift the total weight by N, so even the Betti table would be incorrect if we only shift the total weights:
```m2
i1 : R = kk[x,y,Heft => {2}];
i2 : K = koszul vars R;
i3 : B = betti K
0 1 2
o3 = total: 1 2 1
0: 1 . .
1: . 2 .
2: . . 1
o3 : BettiTally
i4 : peek B
o4 = BettiTally{(0, {0}, 0) => 1}
(1, {1}, 2) => 2
(2, {2}, 4) => 1
i5 : B(10), peek B(10)
0 1 2
o5 = (total: 1 2 1, BettiTally{(0, {0}, -10) => 1})
-10: 1 . . (1, {1}, -8) => 2
-9: . 2 . (2, {2}, -6) => 1
-8: . . 1
o5 : Sequence
i6 : betti(K ** R^{10}), peek betti(K ** R^{10})
0 1 2
o6 = (total: 1 2 1, BettiTally{(0, {-10}, -20) => 1})
-20: 1 . . (1, {-9}, -18) => 2
-19: . 2 . (2, {-8}, -16) => 1
-18: . . 1
o6 : Sequence
```
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the BettiTally ZZ and betti(K ** R^{10}) examples, including the nonstandard heft-vector case, and compare their weights and multidegrees. Then inspect the BettiTally ZZ operation and related betti behavior; done means the chosen shifting semantics are consistent and documented for both standard and nonstandard heft vectors.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100