Bill Allombert on Thu, 19 Mar 2020 13:33:44 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Tower field extensions in libPARI |
On Thu, Mar 19, 2020 at 11:56:02AM +0000, John Cremona wrote: > If instead you construct F2 by giving just its degree over F1 and not a > specific polynomial, all is well: > sage: F2 = F1.extension(6) > sage: F2 > Finite Field in z12 of size 11^12 > sage: E2 = E.change_ring(F2) > sage: E2.cardinality() > 3138424833600 > > but the polynomial is not the one you wanted: > > sage: F2.gen().minpoly() > x^12 + x^8 + x^7 + 4*x^6 + 2*x^5 + 5*x^4 + 5*x^3 + 6*x^2 + 5*x + 2 Note that you are not actually building a relative model in this variant, so of course it works. To avoid this issue, GP ffextend returns a absolute model and a map from the relative model. a=ffgen((x^2+1)*Mod(1,11),'a); Ea=ellinit([0,1],a); [r,m]=ffextend(a,x^6 + (a + 3),'b); Eb=ellinit(ffmap(m,Ea[1..5]),r); ellcard(Eb) %12 = 3138424833600 mi=ffinvmap(m); minpoly(ffmaprel(mi,r)) %14 = x^6+(a+3) Cheers, Bill