Ask Your Question

rschwieb's profile - activity

2018-03-21 11:44:30 -0600 received badge  Nice Question (source)
2018-03-19 19:42:29 -0600 received badge  Supporter (source)
2018-03-08 09:43:03 -0600 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-07 17:07:38 -0600 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-07 17:07:12 -0600 received badge  Editor (source)
2018-03-07 12:59:27 -0600 received badge  Student (source)
2018-03-07 08:45:36 -0600 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.<x,y>=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[0]])  # <- 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?