read NormalBasis; f := y^3+(-1053+300*x^4-594*x^3+465*x)*y^2+(117612*x^6+416988*x^3-326430*x+30000*x^ 8+93000*x^5+369603-394740*x^4+72075*x^2-118800*x^7)*y-42823647+59422977*x+ 14290992*x^10-960308*x^9-66015010*x^3+1414720*x^12+421632*x^13-29484300*x^6+ 55296*x^15-21681513*x^2+107285472*x^4-39680226*x^5-4868352*x^11+65620692*x^7-\ 24121584*x^8; n := degree(f,y); alpha := RootOf(f,y): V := Candidates(f,x,y); beta := select(has,V,y)[1]; beta := subs(y=alpha, beta): m_beta := evala(Norm(y - beta)); # So far, what's implemented is reducing the degree in x. # Reducing the coefficient size in Q is not yet implemented. # This will be done here at hoc. expand(subs(y = y - coeff(m_beta,y,n-1)/n, m_beta)); m_beta := primpart(subs(y=y*2^7*3^2, %));