paladino on Fri, 11 Oct 2013 15:17:06 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Degree extension |
Dear Bill, thank you very much for your answer! Your explanation is very clear and it is very useful for me. With my best regards, Laura > On Thu, Oct 10, 2013 at 05:57:06PM +0200, paladino@mat.unical.it wrote: >> Dear All, >> >> I am Laura, a new member of the list of the >> users of PARI. > > Welcome! > >> I have a question. I have the roots of >> some polynomials of the form y^2=x^3+Ax+B. >> For example p:=y^2=x^3+2*x+5. >> I call a, b and c the roots of p. >> I would like to calculate the degree >> of the number field >> >> Q(sqrt(a-b),sqrt(a-c),sqrt(b-c),sqrt(-1)). >> >> Is it possible with PARI? > > Yes, this is possible > Let P=x^3+A*x+B be your polynomial > and K=Q(sqrt(a-b),sqrt(a-c),sqrt(b-c),sqrt(-1)) > > 1) Build the Galois closure of P as follow: > S=polcompositum(P,P)[2]; > (This depends on the Galois group of P, but this will work in both case) > > 2) Compute the roots of P in the field Q[X]/P: > N=nfroots(subst(S,x,'alpha),P); > Now the roots are given by a=N[1], b=N[2], c=N[3] > in term of a root alpha of S. > > 3) Compute the minimal polynomial of a-b as follow > Mab=minpoly(N[1]-N[2]); > By Galois theory, it has the same degree as S. > > 4) The minimal polynomial of sqrt(a-b) is a factor of Mab(x^2) > Msab=factor(subst(Mab,x,x^2))[1,1] > > 5) Build the tensor product Q[x]/Msab \otimes Q(sqrt(-1)) > MsabI = polcompositum(Msab,x^2+1)[1] > > 6) Factor Msab over L=Q[X]/MsabI: > R=nffactor(subst(MsabI,x,'beta),Msab); > This will be given in term of a root beta of MsabI. > > 7.1) If Msab split in linear factor, then K=L and the degree > is poldegree(MsabI). This can be checked with > poldegree(Msab)==#R[,1] > > 7.2) otherwise, we have to go one step higher. Set > MsabcI=rnfequation(subst(MsabI,x,'beta),R[3,1]); > > In that case K=Q[X]/MsabcI and the degree is poldegree(MsabcI) > > Cheers, > Bill. >