////////example of the qth power algorithm/////////////////////////////////////////////////////////////////////////////////// ////////This is a variant of example 5.1 from the joint paper with Ruud Pellikaan//////////////////////////////////////////// ////////To run this, open MAGMA, load the file qthpower.txt gotten from this sight, load this, and run/////////////////////// F:=FiniteField(2); WT_MATRIX_S:=[[31,12]]; S:=PolynomialRing(F,2,"weight", [31,12,1,0]); AssignNames(~S, ["x" cat &cat [ "_" cat IntegerToString(WT_MATRIX_S[i,j]) : i in [1..#WT_MATRIX_S]] : j in [1..#WT_MATRIX_S[1]]]); WT_MATRIX_icS,integral_closure_S,I,delta,phi,psi:= integral_closure(F,S, 2, [[31,12]], [S|], S.1^12+S.1^11+S.1^10*S.2^2+S.1^8*S.2^9+S.2^31); AssignNames(~integral_closure_S, ["y" cat &cat [ "_" cat IntegerToString(WT_MATRIX_icS[i,j]) : i in [1..#WT_MATRIX_icS]] : j in [1..#WT_MATRIX_icS[1]]]); "I="; for i in [1..#Basis(I)] do i,Basis(I)[i]; end for; "delta=",delta; "phi="; for i in [1..#WT_MATRIX_icS[1]] do i,integral_closure_S.i@phi; end for; "psi="; for i in [1..Rank(S)] do i,S.i@psi; end for; ///////To compare this to output from the Integral Closure function in MAGMA, uncomment the following MAGMA code and run it//////// //F:=FiniteField(2); //FF:=FunctionField(F); //P:=PolynomialRing(FF); //f:=y^12+y^11+y^10*x^2+y^8*x^9+x^31; //Ff:=FunctionField(f); //C:=CoefficientRing(Ff); //INT:=Integers(C); //IC:=IntegralClosure(INT,Ff); //B:=Basis(IC);B; //To compare this to the normal function in SINGULAR's normal.lib, uncomment the following input and run it in a SINGULAR session/// //LIB "normal.lib"; //ring r=2,(y,x),wp(31,12); //ideal i=y12+y11+y10x2+y8x9+x31; //list nor=normal(i); //def R=nor[1]; //setring R; //normap; //norid;