I am trying to find the roots of a primitive polynomial over a non-prime finite field, in a desired extension. Here is an example of what I'm trying to do:
First, I define my non-prime finite field (GF(4)), and a primitive polynomial f.
sage: F.<a>=GF(4)
sage: K.<x>=F[]
sage: F
Finite Field in a of size 2^2
sage: K
Univariate Polynomial Ring in x over Finite Field in a of size 2^2
sage: f=x^4 + (a + 1)*x^3 + a*x^2 + a
sage: f.is_primitive()
True
Now, I define an extension field G where f has its roots
sage: G=f.root_field('b')
sage: G
Univariate Quotient Polynomial Ring in b over Finite Field in a of size 2^2 with modulus x^4 + (a + 1)*x^3 + a*x^2 + a
sage: G.base_field()
Finite Field in a of size 2^2
I assume that b is a root of f, by definition (correct me if I'm wrong). Now, I take a new primitive polynomial h.
sage: h=x^4 + x^3 + (a + 1)*x^2 + a
sage: h.is_primitive()
True
But when I try to find the roots of h in G, I get nothing. sage: h.roots(ring=G) []
Could somebody tell me how I could get the roots of h in G with respect to b?