On 25 April 2014 08:26, Irene <[email protected]> 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 [email protected].
> To post to this group, send email to [email protected].
> 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 [email protected].
To post to this group, send email to [email protected].
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