Macaulay2 / Macaulay2/M2

Problem with isSupportedInZeroLocus, from Saturation.m2

Open
#4,155 2 comments 0 reactions 0 assignees View on GitHub
Core
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.