# Reduction In Quotient Rings (x^2 - x = 0)

Hi,

Thank you for taking the time to read this, it is very much appreciated.

My question concerns how to ensure that a polynomial within a quotient ring has the following property:

```
(x^2)k = 0
```

whereby x is any variable in the quotient ring and k is a positive integer.

This is the way I tried to go about the situation: I created a polynomial ring

```
P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
```

Since I am not working within a quotient ring, x^2 (or any of the other three variables) does not 'become' 0. Since I would like the property of x^2 = 0, I decided to create a quotient ring with some field equations:

```
Q = P.quotient_ring(ideal([var**q - var for var in P.gens()]))
```

whereby `q = P.base_ring.order()`

.
However, when I then created the following polynomial, its parent was still P, so I changed its ring:

```
f1 = y*z + y*w + w^2
f1 = f1.change_ring(Q)
```

However, when I print f1, it, w^2 is still w^2 and has not reduced down to 0. I was wondering if I am missing something, please? This gets annoying because I am going to be working with Macaulay Matrices and hence, it is essential that I work within a quotient ring. Maybe I am missing some mathematics since this is all very new to me...

This is my sage input:

```
sage: P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
sage: q = P.base_ring().order()
sage: Q = P.quotient_ring(ideal([var**q - var for var in P.gens()]))
sage: f1 = y*z + y*w + w^2
sage: f1
y*z + y*w + w^2
sage: f1 = f1.change_ring(Q)
sage: f1
y*z + y*w + w^2
```

How would go about to ensure that w^2 = 0? I've already tried adding the original polynomial to the field equations when creating the quotient ring and changing its ring afterwards, like so:

```
sage: P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
sage: q = P.base_ring().order()
sage: f1 = y*z + y*w + w^2
sage: Q = P.quotient_ring(ideal([f1] + [var**q - var for var in P.gens()]))
sage: f1 = f1.change_ring(Q)
sage: f1
y*z + y*w + w^2
```

But as you can see, nothing happened... Thank you!

Ok, I believe that by doing

it works. But this can make the code quite ugly if I need to work exclusively with this Q...is there a better way of doing this, please?