1 | initial version |
S is a field
sage: R.<x> = PolynomialRing(GF(2), 'x')
sage: S.<y> = QuotientRing(R, R.ideal(x^8+x^4+x^3+x+1))
sage: S.is_field()
True
hence
sage: S.ideal(1) == S.ideal(y) == S.ideal(y^4 + 1)
True
2 | No.2 Revision |
With your code S = GF(256) is a
fieldfield and y
its generator
sage: R.<x> = PolynomialRing(GF(2), 'x')
sage: S.<y> = QuotientRing(R, R.ideal(x^8+x^4+x^3+x+1))
sage: S.is_field()
True
sage: S.cardinality()
256
sage: y^8 + y^4 + y^3 + y + 1 # defining polynomial
0
henceIn particular
sage: S.ideal(1) == S.ideal(y) == S.ideal(y^4 + 1)
True
What you want to consider is a different object, namely GF(256)[y]
you need to construct a polynomial ring over GF(256)
. The construction R.<x>
in Sage does not build a polynomial ring but simply assign to x
the generator of R
.
3 | No.3 Revision |
With your code S = GF(256)
is a field and y
its generator
sage: R.<x> = PolynomialRing(GF(2), 'x')
sage: S.<y> = QuotientRing(R, R.ideal(x^8+x^4+x^3+x+1))
sage: S.is_field()
True
sage: S.cardinality()
256
sage: y^8 + y^4 + y^3 + y + 1 # defining polynomial
0
In particular
sage: S.ideal(1) == S.ideal(y) == S.ideal(y^4 + 1)
True
What you want to consider is a different object, namely GF(256)[y]
, and for that you need to construct a polynomial ring over GF(256)
. The construction R.<x>
in Sage does not build a polynomial ring but simply assign to x
the generator of R
.