Skip to content

Conversation

@d-torrance
Copy link
Member

We count from the right when the index is negative, just like lists.

For example:

i1 : R = ZZ/32003[a..z];

i2 : R_-3

o2 = x

o2 : R

i3 : A = genericMatrix(R, 4, 4)

o3 = | a e i m |
     | b f j n |
     | c g k o |
     | d h l p |

             4      4
o3 : Matrix R  <-- R

i4 : A_{-3, -1}^{-2}

o4 = | g o |

             1      2
o4 : Matrix R  <-- R

We count from the right when the index is negative, just like lists.
We define cover(MutableMatrix) so we can just use submatrixFree (which
calls cover).
Also stop calling it from Matrix_List & Matrix^List; it's called later
down the line by submatrixFree.
Also support using Matrix_Sequence to get submatrices, just like we've
been doing with MutableMatrix_Sequence.
@d-torrance
Copy link
Member Author

Discussed with Mike

@d-torrance d-torrance merged commit 87e030c into Macaulay2:development Nov 7, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant