Macaulay2 / Macaulay2/M2

Ring _ Sequence, so that R_(1..3) returns those generators

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

Nobody has claimed this yet.

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

Description

This issue was triaged from [`bugs/dan/1-Ring_Sequence`](https://github.com/Macaulay2/M2/blob/388c1ff0ce30d83751dea7bc7eac77fdc1305dd7/bugs/dan/1-Ring_Sequence), one of the 857 files removed from the pre-GitHub `bugs/` tree by [`d2c8d27826`](https://github.com/Macaulay2/M2/commit/d2c8d27826) and catalogued in [#36](https://github.com/Macaulay2/M2/issues/36). **The commentary below was written by Claude (Claude Opus 5, via Claude Code)**, not by @d-torrance, whose account posted it -- please weigh it accordingly.

### The original file, verbatim

```text
David likes this idea:

i12 : Ring _ Sequence := (R,s) -> apply(s,i->R_i);

i14 : R = QQ[a,b,c,d];

i15 : R_(1..3)

o15 = (b, c, d)

o15 : Sequence
```

### Where it stands today

Not installed: `R_(1..3)` still errors with "no method for binary operator `_`" on
`(PolynomialRing, Sequence)`.

### This is convenience rather than a missing capability

Two spellings already do the job, one of them literally the file's own body:

```m2
i1 : R = QQ[a,b,c,d];
i2 : (R_*)_{1,2,3}
o2 = {b, c, d}
i3 : apply(1..3, i -> R_i)
o3 = (b, c, d)
```

`R_*` postdates the file and covers most of what David liked about the idea.

### One detail for whoever takes it

The adjacent slot is occupied, and differently: `R_{1,2,3}` means the **monomial with that exponent
vector**, `a*b^2*c^3`. So `Ring _ List` is not available, while `Ring _ Sequence` is free — which is
convenient, but means the two bracket spellings would mean quite different things, and that asymmetry
should be documented if this goes in.

**#3515** is a different notation request (partial application of functions), not this.

`open` · disposition `issue` · source of truth: [`bug-triage/catalog.tsv`](https://github.com/d-torrance/M2/blob/bug-triage/bug-triage/catalog.tsv)

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 Ring _ Sequence example and the current Ring subscript/operator dispatch; the issue does not name an implementation or test file. Compare the existing R_* and R_{1,2,3} behavior, then document or implement the requested distinction so R_(1..3) returns a Sequence of generators without changing monomial notation.

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
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.