On 25 April 2014 08:26, Irene <
irene....@gmail.com> wrote:
> Yes, this is the example:
>
> p=3700001
> Fpr=GF(pow(p,2),'b')
> b=Fpr.gen()
> FFpr.<x>=PolynomialRing(Fpr)
> EP= x^6 + (973912*b + 2535329)*x^5 + (416282*b + 3608920)*x^4 + (686636*b +
> 908282)*x^3 + (2100014*b + 2063451)*x^2 + (2563113*b + 751714)*x + 2687623*b
> + 1658379
> A1.<theta>=Fpr.extension(EP)
> Qx=x^6 + (1028017*b + 514009)*x^5 + 2*x^4 + (1028017*b + 514008)*x^3 + 2*x^2
> + (1028017*b + 514009)*x + 1
>
> A2.<z>=Fpr.extension(Qx)
> alpha=(1636197*b + 1129870)*z^5 + (1120295*b + 3059639)*z^4 + (2637744*b +
> 3273090)*z^3 + (3564174*b + 890965)*z^2 + (3503957*b + 2631102)*z +
> 3343290*b + 146187
> f=A1.hom([alpha],A2)
This fails because Qx(alpha) is not 0. You need to map theta to a
root of Qx in A2. UNfortunately simple things like
sage: Qx.roots(A1, multiplicities=False)
sage: Qx.change_ring(A1).factor()
fail with a not-implemented error. I think this is because A1 and A2
have not been constructed as fields, though both A1.is_field() and
A2.is_field() return True. It might work to construct GF(p^12)
separately and define isomorphims from both A1 and A2 to it.
Unfortunately you are discovering that the ability of Sage to work
with relative extensions of finite fields is not as good as it should
be. There has been fairly recent work on this, and maybe Peter Bruin
knows what stage that has reached.
John
> --
> 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.