Macaulay2 / Macaulay2/M2

Definition of the shift C[n] in Complexes

Open
#4,193 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The function C[n] in Complexes, "Complex Array", shifts a complex C by setting C[n]_i = C_(n+i). I would argue for changing the definition to C[n]_i = C_(n-i). (The package also defines C[n] with a sign change of (-1)^n to the differentials of C, which is fine and not related to my comment.) Equivalently, in terms of cochain complexes, I'm recommending the definition C[n]^i = C^(n+i).

The convention I'm recommending has the effect that exact triangles in the derived category have the form A -> B -> C -> A[1] (rather than A[-1]). This agrees with the definition of triangulated categories by Verdier (Des categories derivees des categories abeliennes): his axioms say that exact triangles have the form A -> B -> C -> A[1]. (This is independent of whether you prefer to think in terms of chain complexes or cochain complexes.) The same convention for the meaning of C[n] is used in the standard books on derived categories by Gelfand-Manin (Methods of Homological Algebra) and Kashiwara-Schapira (Categories and Sheaves). I regret to say that Weibel's book on homological algebra uses the opposite convention, as Macaulay2 does now. But I think it's fair to say that there is stronger support for the convention I'm recommending.

Making this change would require a few edits to Complexes besides the definition, since shifts C[n] are used a few times. I would be happy to do that, but I am first checking what people think.

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 by inspecting the Complexes package and searching for the definition and uses of shifts C[n]. Compare the affected operations with the proposed convention, then update the definition and its dependent uses consistently; done means the package follows the new shift convention without conflicting existing behavior.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.