Problem with ^1 and ^**1
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
Here is bug in components of `M^1`:
```m2
i1 : R = QQ[x,y];
i2 : M = R^{-2} ++ R^{2};
i3 : components M
1 1
o3 = {R , R }
o3 : List
i4 : components M^1
2
o4 = {R }
o4 : List
i5 : components M^2
2 2
o5 = {R , R }
o5 : List
```
This is true about other cached information as well:
```m2
i15 : res M;
i16 : M.cache.?resolution
o16 = true
i17 : (M^1).cache.?resolution
o17 = false
```
More generally, I think `-^1` and `-^**1` should act like identity, but here is another case where they don't:
```m2
i1 : set {1,2}
o1 = set {1, 2}
o1 : Set
i2 : oo^**1
o2 = set {1 : (1), 1 : (2)}
o2 : Set
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the shown Macaulay2 examples for components M^1, components M^2, M.cache.?resolution, and oo^**1. Trace the implementation of exponentiation and cached module data; done means -^1 and -^**1 preserve the expected identity behavior and cached information without breaking the demonstrated cases.
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
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100