Macaulay2 / Macaulay2/M2

isNormal for non-equidimensional rings

Open
#158 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Core
Dominant language
Macaulay2
Stars
435
Forks
297
Avg merge
4d 20h
Merged PRs (30d)
11

Description

Currently regular but non-equidimensional rings seem to return false via the isNormal function.

For instance if
R = QQ[x,y,z]/(x_(x+1), y_(x+1))
then isNormal(R) == false

Presumably the issue is that when S2 is checked for, it checks various Exts to see if they are nonzero (and with appropriate dimensional support). Non-equidimensional rings will have Exts in funny dimensions. I suppose one could run this on each connected component separately and then it would be fine.

I guess one should also be careful with the R1 check, if you had X a singular curve disjoint union with a smooth surface, then the singular locus has dimension 0 and the scheme has dimension 2, but I wouldn't say that X is R1.

Best wishes,

Karl

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the isNormal function and reproduce the reported QQ[x,y,z]/(x_(x+1), y_(x+1)) example. Read how its S2 and R1 checks handle Exts, connected components, and non-equidimensional dimensions. Done means the regular non-equidimensional case is accepted while the stated R1 edge case remains correctly classified; no files or tests are named.

Written by the indexing model from the issue text.

Assessment

Domain
backend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.