Problem with isSupportedInZeroLocus, from Saturation.m2
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
It seems that isSupportedInZeroLocus, from Saturation.m2 fails in simple examples for quotient rings, even when the coefficient ring is a field. For example, take:
R1 = QQ[x,y];
R2 = R1/(x^2+y^2);
m = ideal(x,y); -- in R2;
M3=R2^1/(x);
isSupportedInZeroLocus(m,M3).
I get the output "false" (running the stable Macaulay2), whereas it should be true. Apparently the algorithm does not recognize the fact that y^2 acts by 0 on M3 (just as x does), because of the relation defining the ring R2. Perhaps the algorithm should translate the problem to work over the polynomial ring R1. But I'm not sure that that is the best approach. The function uses a nontrivial monomial ordering in a slightly tricky way.
Looking at the function, we see that it does something different for a module M whose annihilator has been computed first. But unfortunately that also fails, in the example above, even if you run annihilator M3 before "isSupportedInZeroLocus" (to avoid caching the wrong answer). I don't understand what is going wrong in this case.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in Saturation.m2 at isSupportedInZeroLocus and reproduce the quotient-ring example using R1, R2, m, and M3. Compare the direct call with the path after annihilator M3; done means the function recognizes that y^2 acts by zero and returns true for this case.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100