2018-03-21 17:44:30 +0200 received badge ● Nice Question (source) 2018-03-20 01:42:29 +0200 received badge ● Supporter (source) 2018-03-08 16:43:03 +0200 commented question Examining the quotients of a module $R\times R$ where $R$ is a finite ring. @vdelecroix I would be happy to contribute a module to better handle finite rings and their free modules (I am a professional Python programmer), but it will be a while before I understand the conventions in the codebase. Thanks for taking the time to comment. 2018-03-08 00:07:38 +0200 commented question Examining the quotients of a module $R\times R$ where $R$ is a finite ring. @vdelecroix I've improved the question with more details, now that I have the thing in front of me. 2018-03-08 00:07:12 +0200 received badge ● Editor (source) 2018-03-07 19:59:27 +0200 received badge ● Student (source) 2018-03-07 15:45:36 +0200 asked a question Examining the quotients of a module $R\times R$ where $R$ is a finite ring. I'm new to Sage, and I've been struggling to get started with (what I thought) should be a basic construction. I have an $8$-element commutative ring $R$ which is constructed as a quotient of a polynomial ring in two variables. I need to examine all of the quotient of the right $R$ module $R\times R$. I tried to use M=R^2 and got something that looked promising, but when I tried to use the quotient_module method, I kept getting errors. I saw in the docs for that method that quotient_module isn't fully supported, so I started looking at the CombinatorialFreeModule class too. Can someone recommend an idiomatic way to accomplish the task? I have been plagued by NotImplemented errors and a myriad of other error messages every step of the way, even when just attempting to find a method to list all elements of my $8$ element ring. All the examples I've seen really look like they stick to basic linear algebra, or free $\mathbb Z$ modules. I just want to do something similar for my small ring of $8$ elements. Here's what I've been trying: k # <- (finite field of size 2) R.=PolynomialRing(k) S = R.quotient([x^2, x*y, y^3]) list(S) # <-- NotImplementedError("object does not support iteration") I noticed it worked for the univariate case though. What's a good way to recover the elements? M = S^2 v = M.gens() M.quotient_module([v]) # <- ValueError("unable to compute the row reduced echelon form") TypeError("self must be an integral domain.")  Had the same problem with a univariate polynomial ring over $F_2$ mod $(x^3)$. Obviously the messages are informative enough about what they think is wrong. But this seems like such an elementary task... is there some other class that can handle such a construction?