strict equality of complexes
Nobody has claimed this yet.
- Dominant language
- Macaulay2
- Stars
- 435
- Forks
- 297
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 11
Description
I closed my earlier issue because the issue is in using `===` for complexes, not truncation itself:
```m2
i1 : R = QQ[x];
i2 : complex R === complex R
o2 = false
```
This is because Complex inherits from mutable hash table, and there isn't another `===` method installed.
So perhaps really the issue is using `===` or `=!=` for complexes, for instance in liftMapAlongQuasiIsomorphism:
https://github.com/Macaulay2/M2/blob/a816bf9a79201423e49991615b19cecfff9ed4a9/M2/Macaulay2/packages/Complexes/ChainComplexMap.m2#L1279
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at Complexes/ChainComplexMap.m2 around line 1279, especially liftMapAlongQuasiIsomorphism, and inspect the uses of === and =!= for complexes. Reproduce the complex equality example from the issue and trace which equality method is selected. Done means complex comparisons use the intended equality behavior rather than inherited mutable hash-table comparison.
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