Ask Your Question

Revision history [back]

A vector space basis for $R/I$ is also called a normal basis for $I$. You can obtain it as follows:

sage: R.<x,y> = PolynomialRing(GF(4))
sage: NB = sage.rings.ideal.FieldIdeal(R).normal_basis(); NB
[x^3*y^3, x^2*y^3, x*y^3, y^3, x^3*y^2, x^2*y^2, x*y^2, y^2, x^3*y, x^2*y, x*y, y, x^3, x^2, x, 1]

Then you want to give these monomials all possible coefficients:

sage: from itertools import product
sage: [sum(c*m for (c,m) in zip(C,NB)) for C in product(R.base_ring(), repeat=len(NB))]

The output consists of $4^{16} = 4294967296$ polynomials.