1 | initial version |

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.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.