Congruences classes quotient ring
I am playing around with quotient rings in several variables and would like to get the congruence classes. How would I do that?
Let's say I have:
R.<x,y> = ZZ[]
S.<a,b> = R.quotient((x^2 + y^2, 17))
How do I get all congruence classes of R/[x^2 + y^2, 17]?
There are infinitely many equivalence classes here - eg. all $x^k$ belong to distinct classes. So please clarify what you mean under "get all congruence classes"?
If you have a homogeneous ideal in a polynomial ring over a field then you can do e.g.
R.<x,y> = GF(17)[]; I = R.ideal((x^2 + y^2)); I.normal_basis(4)
to get basis elements of degree 4.