First the bad news: ---------------------------------------------------------------------- | SAGE Version 2.10.1, Release Date: 2008-02-02 | | Type notebook() for the GUI, and license() for information. | ----------------------------------------------------------------------
sage: E=EllipticCurve(GF(5),[1,1]) sage: E1=E.base_extend(GF(125,'a')) sage: E2=E1.base_extend(GF(125^2,'b')) ------------------------------------------------------------ Unhandled SIGSEGV: A segmentation fault occured in SAGE. This probably occured because a *compiled* component of SAGE has a bug in it (typically accessing invalid memory) or is not properly wrapped with _sig_on, _sig_off. You might want to run SAGE under gdb with 'sage -gdb' to debug this. SAGE will now terminate (sorry). ------------------------------------------------------------ Now I know that there is no coercion between finite fields (of the same characteristic) except when the first is a prime field, and I was hoping to remedy that. It is easy to define a homomorphism from GF(p^d) to GF(p^e) when d divides e, for example: sage: F2=GF(125,'a') sage: F3=GF(125^2,'b') sage: h=F2.hom([F2.gen().charpoly().roots(ring=F3, multiplicities=False)[0]],F3) sage: h(F2.gen()) 4*b^5 + b^4 + 4*b^3 + 4*b^2 + 3*b + 3 which it would be convenient to automate so that a plain F2.hom(F3) would do that. What more is needed for coercion to be automatic in such a situation? Of course this might apply more generally tha for extensions of finite fields. -- John Cremona --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---