Constructing a ring F_2(u)/<u^2=0> in GAP

94 Views Asked by At

I need to construct the following ring in GAP:

$$F_2(u) / \langle u^2=0 \rangle =\{ \; a+bu \; | \; a,b \in F_2 \; \}=\{0,1,u,1+u\}$$.

I tried using the commands PolynomialRing and PolynomialReduction, however I couldn't get it to work. This is what I tried and it didn't work:

R:=PolynomialRing(GF(2),["u"]);
u:=Indeterminant(GF(2),"u");
R1:=PolynomialReduction(R,[u^2],MonomialTotalDegreeLess);

Does anyone know how to construct this ring in GAP?

Thanking you in advance!

1

There are 1 best solutions below

0
On

You would need to form a quotient:

gap> R:=PolynomialRing(GF(2),"u");AssignGeneratorVariables(R);
GF(2)[u]
gap>  I:=Ideal(R,[u^2]);
<two-sided ideal in GF(2)[u], (1 generators)>
gap> A:=R/I;
<ring GF(2),(1),(u)>
gap> Filtered(Elements(A),IsUnit);
[ (1), (1)+(u) ]

(The PolynomialReduction command you use would take the remainder when dividing by an ideal given by a Gröbner basis.)

Generically (if you cannot describe the ring easily as quotient of a polynomial ring over a field), there is RingBystructureConstants as well as a library of small rings given by SmallRing.