I think that this is exactly what I need. Nevertheless I cannot use neither 
i.section() nor i.inverse_image(). The second one because of the same 
reason as you, and the first one when I try it is says "TypeError: 
'NoneType' object is not callable".

On Thursday, April 17, 2014 12:07:18 PM UTC+2, John Cremona wrote:
>
> OK, that makes sense now.  It boils down to this: given an element of 
> F12=GF(p^12) which happens to lie in F2 = GF(p^2), how to express it 
> in terms of a generator of F2.  This is not quite as easy as it should 
> be but this works (assuming that you have defined F12 with generator a 
> and F2 with generator b): 
>
> sage: bb = b.minpoly().roots(F12)[0][0] 
> sage: i = F2.hom([bb],F12) 
> sage: j = i.section() 
>
> Here we have defined an embedding i of F2 into F12 by find a place to 
> map b (called bb) and set j to be an inverse to i.  (I think we should 
> be use i.inverse_image() but that gave me a NotImplementedError, which 
> is a pity since I have used sort of construction easily in extensions 
> of number fields). 
>
> Now if f is your polynomial in F12[x] whose coefficients lie in F2 you can 
> say 
>
> sage: PolynomialRing(F2,'X')([j(c) for c in f.coeffs()]) 
>
> to get what you want, I hope! 
>
> John 
>
> On 17 April 2014 02:52, Irene <irene....@gmail.com <javascript:>> wrote: 
> > Sorry, I didn't write it correctly. I meant GF(p^12,'a') instead of 
> > GF(p^13,'a'). As 2 divides 12, GF(p^12,'a') is an extension of 
> GF(p^2,'b'). 
> > My question is the same now with the correct data. 
> > 
> > On Thursday, April 17, 2014 11:04:40 AM UTC+2, John Cremona wrote: 
> >> 
> >> On 17 April 2014 01:55, Irene <irene....@gmail.com> wrote: 
> >> > Hello! 
> >> > 
> >> > I want to define a polynomial that I know lies in GF(p^2,'b')[x], 
> >> > p=3700001. 
> >> > The problem is that I have to define it as a product 
> >> > E=(X-a_1)*(X-a_2)*(X-a_3)*(X-a_4)*(X-a_5)*(X-a_6), where every a_j is 
> in 
> >> > GF(p^13,'a')[X]. 
> >> > I tried to do GF(p^2,'b')[x](E), but then Sage just changes the 
> >> > generator 
> >> > 'a' and writes the same expression with the generator 'b'. 
> >> > Any idea about how to do this? 
> >> > Thank you!! 
> >> 
> >> Did you write that correctly?  GF(p^13) is not an extension of 
> >> GF(p^2).  If a1 is in GF(p^13) then a1.minpoly() will give its min 
> >> poly, in GF(p)[x]. 
> >> 
> >> John Cremona 
> >> 
> >> > 
> >> > -- 
> >> > You received this message because you are subscribed to the Google 
> >> > Groups 
> >> > "sage-support" group. 
> >> > To unsubscribe from this group and stop receiving emails from it, 
> send 
> >> > an 
> >> > email to sage-support...@googlegroups.com. 
> >> > To post to this group, send email to sage-s...@googlegroups.com. 
> >> > Visit this group at http://groups.google.com/group/sage-support. 
> >> > For more options, visit https://groups.google.com/d/optout. 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sage-support" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to sage-support...@googlegroups.com <javascript:>. 
> > To post to this group, send email to 
> > sage-s...@googlegroups.com<javascript:>. 
>
> > Visit this group at http://groups.google.com/group/sage-support. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to