# Revision history [back]

### 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.

N.B. I will work to supply specific error messages and code later today: I'm away from my workstation that has Sage installed right now.

### 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.

N.B. I will work to supply specific error messages and code later today: I'm away from my workstation that has Sage installed right now.

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)$.

Is there some other class that can handle such as simple construction?

### 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.

N.B. I will work to supply specific error messages and code later today: I'm away from my workstation that has Sage installed right now.

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)$.

Is there some other class that can handle such as simple construction?

### 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)$.

Is 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 as simple a construction?