Macaulay2 / Macaulay2/M2

Cache output of flattenRing

Open
#2,133 0 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

```m2
i1 : A = kk[a]; B = A[b];

i3 : X = first flattenRing B;

i4 : Y = flattenRing(B, Result => 1);

i5 : X === Y

o5 = false
```

From documentation:
> Multiple calls to flattenRing may result in defining multiple rings that are regarded as different objects by Macaulay2.

This seems to be easily avoidable.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the Macaulay2 transcript in the issue and locate the flattenRing entry point. Trace the repeated calls and their Result => 1 behavior, then verify that equivalent calls reuse the same ring object so the final X === Y check succeeds.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.