Hello,

In the future (hopefully soon; it is being worked on as I write this, see 
http://trac.sagemath.org/ticket/14990) Sage will have algebraic closures of 
finite fields; once we have those, you can use the subfield of the 
appropriate degree inside the algebraic closure instead of creating fields 
with the extension() method.

That aside, I agree with John that you can probably avoid some problems by 
first creating F_{p^12} and then constructing the other fields inside that.

Peter


Op vrijdag 25 april 2014 09:35:05 UTC+1 schreef John Cremona:
>
> On 25 April 2014 08:26, Irene <irene....@gmail.com <javascript:>> 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 
>
> > 
> > On Thursday, April 24, 2014 11:33:52 PM UTC+2, Peter Bruin wrote: 
> >> 
> >> Can you post a complete example?  The following (simple) example works 
> for 
> >> me (at least in 6.2.beta8): 
> >> 
> >> sage: F=GF(5).extension(2) 
> >> sage: A1.<y>=F.extension(x^2+3) 
> >> sage: A2.<z>=F.extension(x^2+3) 
> >> sage: A1.hom([z],A2) 
> >> Ring morphism: 
> >>   From: Univariate Quotient Polynomial Ring in y over Finite Field in a 
> of 
> >> size 5^2 with modulus y^2 + 3 
> >>   To:   Univariate Quotient Polynomial Ring in z over Finite Field in a 
> of 
> >> size 5^2 with modulus z^2 + 3 
> >>   Defn: y |--> z 
> >> 
> >> Peter 
> >> 
> >> 
> >> Op donderdag 24 april 2014 16:55:34 UTC+1 schreef Irene: 
> >>> 
> >>> I have defined two extensions A1 and A2 over a finite field Fp2 with 
> >>> generator b, 
> >>> 
> >>> A1.<theta>=Fp2.extension(Ep) 
> >>> A2.<z>=Fp2.extension(Q) 
> >>> 
> >>> being Ep and Q polynomials. 
> >>> 
> >>> Now I want to define a homomorphism between those algebras. I have 
> >>> already computed alpha, that is the element in A2 where theta is 
> mapped, but 
> >>> Sage doesn't allow me to define it as: 
> >>> 
> >>> A1.hom([alpha], A2) 
> >>> 
> >>> Do you know how to do it? 
> >>> 
> >>> Irene 
> > 
> > -- 
> > 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