SetClassGroupBounds("GRH"); n:=16; r:=(n div 2); // r:=n div 2; if cyclotomic R := PolynomialRing(Integers()); f:=x^n+1*x^ 0 ; K := NumberField(f); d:=Discriminant(K); d; Abs(d)^(1/n); o:=EquationOrder(K); O:=MaximalOrder(o); TransformationMatrix(O,o); C,mC:=ClassGroup(O:Proof:="GRH"); C; mC(C.1); U,mU:=UnitGroup(O: GRH:=true); for i in [1..r] do Ui:=mU(U.i);Ui; end for; Regulator(O:Current); SetClassGroupBounds("GRH"); n:=16; r:=(n div 2)+1; // r:=n div 2; if cyclotomic R := PolynomialRing(Integers()); f:=x^n-2*x^ 0 ; K := NumberField(f); d:=Discriminant(K); d; Abs(d)^(1/n); o:=EquationOrder(K); O:=MaximalOrder(o); TransformationMatrix(O,o); C,mC:=ClassGroup(O:Proof:="GRH"); C; mC(C.1); U,mU:=UnitGroup(O: GRH:=true); for i in [1..r] do Ui:=mU(U.i);Ui; end for; Regulator(O:Current); SetClassGroupBounds("GRH"); n:=16; R := PolynomialRing(Integers()); f:=x^n-229*x^ 0 ; K := NumberField(f); d:=Discriminant(K); d; Abs(d)^(1/n); o:=EquationOrder(K); O:=MaximalOrder(o); TransformationMatrix(O,o); C,mC:=ClassGroup(O:Proof:="GRH"); C; mC(C.1); U,mU:=UnitGroup(O: GRH:=true); U1:=mU(U.1);U1; U2:=mU(U.2);U2; U3:=mU(U.3);U3; U4:=mU(U.4);U4; U5:=mU(U.5);U5; U6:=mU(U.6);U6; U7:=mU(U.7);U7; U8:=mU(U.8);U8; I:=2*O; F:=Factorization(I);F; I1:=F[1][1]^5; I1; V,om:=IsPrincipal(I1); om; Factorization((om-2^5)*O+F[1][1]^7)[1][2],Factorization((om+2^5)*O+F[1][1]^7)[1][2]; Factorization((om-1)*O+F[2][1]^2)[1][2],Factorization((om-3)*O+F[2][1]^2)[1][2]; Factorization((om-1)*O+F[3][1]^2)[1][2],Factorization((om-3)*O+F[3][1]^2)[1][2]; Factorization((om-1)*O+F[4][1]^2)[1][2],Factorization((om-3)*O+F[4][1]^2)[1][2]; Factorization((om-1)*O+F[5][1]^2)[1][2],Factorization((om-3)*O+F[5][1]^2)[1][2]; Factorization((om-1)*O+F[6][1]^2)[1][2],Factorization((om-3)*O+F[6][1]^2)[1][2]; Factorization((om-1)*O+F[7][1]^2)[1][2],Factorization((om-3)*O+F[7][1]^2)[1][2]; Factorization((om-1)*O+F[8][1]^2)[1][2],Factorization((om-3)*O+F[8][1]^2)[1][2]; U1; Factorization((U1-1)*O+F[1][1]^2)[1][2],Factorization((U1-3)*O+F[1][1]^2)[1][2]; Factorization((U1-1)*O+F[2][1]^2)[1][2],Factorization((U1-3)*O+F[2][1]^2)[1][2]; Factorization((U1-1)*O+F[3][1]^2)[1][2],Factorization((U1-3)*O+F[3][1]^2)[1][2]; Factorization((U1-1)*O+F[4][1]^2)[1][2],Factorization((U1-3)*O+F[4][1]^2)[1][2]; Factorization((U1-1)*O+F[5][1]^2)[1][2],Factorization((U1-3)*O+F[5][1]^2)[1][2]; Factorization((U1-1)*O+F[6][1]^2)[1][2],Factorization((U1-3)*O+F[6][1]^2)[1][2]; Factorization((U1-1)*O+F[7][1]^2)[1][2],Factorization((U1-3)*O+F[7][1]^2)[1][2]; Factorization((U1-1)*O+F[8][1]^2)[1][2],Factorization((U1-3)*O+F[8][1]^2)[1][2]; U2; Factorization((U2-1)*O+F[1][1]^2)[1][2],Factorization((U2-3)*O+F[1][1]^2)[1][2]; Factorization((U2-1)*O+F[2][1]^2)[1][2],Factorization((U2-3)*O+F[2][1]^2)[1][2]; Factorization((U2-1)*O+F[3][1]^2)[1][2],Factorization((U2-3)*O+F[3][1]^2)[1][2]; Factorization((U2-1)*O+F[4][1]^2)[1][2],Factorization((U2-3)*O+F[4][1]^2)[1][2]; Factorization((U2-1)*O+F[5][1]^2)[1][2],Factorization((U2-3)*O+F[5][1]^2)[1][2]; Factorization((U2-1)*O+F[6][1]^2)[1][2],Factorization((U2-3)*O+F[6][1]^2)[1][2]; Factorization((U2-1)*O+F[7][1]^2)[1][2],Factorization((U2-3)*O+F[7][1]^2)[1][2]; Factorization((U2-1)*O+F[8][1]^2)[1][2],Factorization((U2-3)*O+F[8][1]^2)[1][2]; U3; Factorization((U3-1)*O+F[1][1]^2)[1][2],Factorization((U3-3)*O+F[1][1]^2)[1][2]; Factorization((U3-1)*O+F[2][1]^2)[1][2],Factorization((U3-3)*O+F[2][1]^2)[1][2]; Factorization((U3-1)*O+F[3][1]^2)[1][2],Factorization((U3-3)*O+F[3][1]^2)[1][2]; Factorization((U3-1)*O+F[4][1]^2)[1][2],Factorization((U3-3)*O+F[4][1]^2)[1][2]; Factorization((U3-1)*O+F[5][1]^2)[1][2],Factorization((U3-3)*O+F[5][1]^2)[1][2]; Factorization((U3-1)*O+F[6][1]^2)[1][2],Factorization((U3-3)*O+F[6][1]^2)[1][2]; Factorization((U3-1)*O+F[7][1]^2)[1][2],Factorization((U3-3)*O+F[7][1]^2)[1][2]; Factorization((U3-1)*O+F[8][1]^2)[1][2],Factorization((U3-3)*O+F[8][1]^2)[1][2]; U4; Factorization((U4-1)*O+F[1][1]^2)[1][2],Factorization((U4-3)*O+F[1][1]^2)[1][2]; Factorization((U4-1)*O+F[2][1]^2)[1][2],Factorization((U4-3)*O+F[2][1]^2)[1][2]; Factorization((U4-1)*O+F[3][1]^2)[1][2],Factorization((U4-3)*O+F[3][1]^2)[1][2]; Factorization((U4-1)*O+F[4][1]^2)[1][2],Factorization((U4-3)*O+F[4][1]^2)[1][2]; Factorization((U4-1)*O+F[5][1]^2)[1][2],Factorization((U4-3)*O+F[5][1]^2)[1][2]; Factorization((U4-1)*O+F[6][1]^2)[1][2],Factorization((U4-3)*O+F[6][1]^2)[1][2]; Factorization((U4-1)*O+F[7][1]^2)[1][2],Factorization((U4-3)*O+F[7][1]^2)[1][2]; Factorization((U4-1)*O+F[8][1]^2)[1][2],Factorization((U4-3)*O+F[8][1]^2)[1][2]; U5; Factorization((U5-1)*O+F[1][1]^2)[1][2],Factorization((U5-3)*O+F[1][1]^2)[1][2]; Factorization((U5-1)*O+F[2][1]^2)[1][2],Factorization((U5-3)*O+F[2][1]^2)[1][2]; Factorization((U5-1)*O+F[3][1]^2)[1][2],Factorization((U5-3)*O+F[3][1]^2)[1][2]; Factorization((U5-1)*O+F[4][1]^2)[1][2],Factorization((U5-3)*O+F[4][1]^2)[1][2]; Factorization((U5-1)*O+F[5][1]^2)[1][2],Factorization((U5-3)*O+F[5][1]^2)[1][2]; Factorization((U5-1)*O+F[6][1]^2)[1][2],Factorization((U5-3)*O+F[6][1]^2)[1][2]; Factorization((U5-1)*O+F[7][1]^2)[1][2],Factorization((U5-3)*O+F[7][1]^2)[1][2]; Factorization((U5-1)*O+F[8][1]^2)[1][2],Factorization((U5-3)*O+F[8][1]^2)[1][2]; U6; Factorization((U6-1)*O+F[1][1]^2)[1][2],Factorization((U6-3)*O+F[1][1]^2)[1][2]; Factorization((U6-1)*O+F[2][1]^2)[1][2],Factorization((U6-3)*O+F[2][1]^2)[1][2]; Factorization((U6-1)*O+F[3][1]^2)[1][2],Factorization((U6-3)*O+F[3][1]^2)[1][2]; Factorization((U6-1)*O+F[4][1]^2)[1][2],Factorization((U6-3)*O+F[4][1]^2)[1][2]; Factorization((U6-1)*O+F[5][1]^2)[1][2],Factorization((U6-3)*O+F[5][1]^2)[1][2]; Factorization((U6-1)*O+F[6][1]^2)[1][2],Factorization((U6-3)*O+F[6][1]^2)[1][2]; Factorization((U6-1)*O+F[7][1]^2)[1][2],Factorization((U6-3)*O+F[7][1]^2)[1][2]; Factorization((U6-1)*O+F[8][1]^2)[1][2],Factorization((U6-3)*O+F[8][1]^2)[1][2]; U7; Factorization((U7-1)*O+F[1][1]^2)[1][2],Factorization((U7-3)*O+F[1][1]^2)[1][2]; Factorization((U7-1)*O+F[2][1]^2)[1][2],Factorization((U7-3)*O+F[2][1]^2)[1][2]; Factorization((U7-1)*O+F[3][1]^2)[1][2],Factorization((U7-3)*O+F[3][1]^2)[1][2]; Factorization((U7-1)*O+F[4][1]^2)[1][2],Factorization((U7-3)*O+F[4][1]^2)[1][2]; Factorization((U7-1)*O+F[5][1]^2)[1][2],Factorization((U7-3)*O+F[5][1]^2)[1][2]; Factorization((U7-1)*O+F[6][1]^2)[1][2],Factorization((U7-3)*O+F[6][1]^2)[1][2]; Factorization((U7-1)*O+F[7][1]^2)[1][2],Factorization((U7-3)*O+F[7][1]^2)[1][2]; Factorization((U7-1)*O+F[8][1]^2)[1][2],Factorization((U7-3)*O+F[8][1]^2)[1][2]; U8; Factorization((U8-1)*O+F[1][1]^2)[1][2],Factorization((U8-3)*O+F[1][1]^2)[1][2]; Factorization((U8-1)*O+F[2][1]^2)[1][2],Factorization((U8-3)*O+F[2][1]^2)[1][2]; Factorization((U8-1)*O+F[3][1]^2)[1][2],Factorization((U8-3)*O+F[3][1]^2)[1][2]; Factorization((U8-1)*O+F[4][1]^2)[1][2],Factorization((U8-3)*O+F[4][1]^2)[1][2]; Factorization((U8-1)*O+F[5][1]^2)[1][2],Factorization((U8-3)*O+F[5][1]^2)[1][2]; Factorization((U8-1)*O+F[6][1]^2)[1][2],Factorization((U8-3)*O+F[6][1]^2)[1][2]; Factorization((U8-1)*O+F[7][1]^2)[1][2],Factorization((U8-3)*O+F[7][1]^2)[1][2]; Factorization((U8-1)*O+F[8][1]^2)[1][2],Factorization((U8-3)*O+F[8][1]^2)[1][2]; M1:=Transpose(Matrix(GF(2), 8, 8, [ 1,1,1,1,1,1,1,1, 1,1,0,1,0,0,1,0, 1,1,0,0,0,1,0,1, 1,1,0,0,1,0,0,1, 0,0,1,0,1,0,1,1, 1,0,1,0,0,1,1,0, 1,0,1,0,0,1,0,1, 0,1,1,1,0,1,0,1 ])); M1; v1:=Transpose(Matrix(GF(2), 1, 8, [0,0,0,1,0,0,0,0])); v1; M1^-1*v1; omega:=om*U1*U2*U3*U5*U6*U8; omega; Factorization((omega-2^5)*O+F[1][1]^7)[1][2],Factorization((omega+2^5)*O+F[1][1]^7)[1][2]; Factorization((omega-1)*O+F[2][1]^2)[1][2],Factorization((omega-3)*O+F[2][1]^2)[1][2]; Factorization((omega-1)*O+F[3][1]^2)[1][2],Factorization((omega-3)*O+F[3][1]^2)[1][2]; Factorization((omega-1)*O+F[4][1]^2)[1][2],Factorization((omega-3)*O+F[4][1]^2)[1][2]; Factorization((omega-1)*O+F[5][1]^2)[1][2],Factorization((omega-3)*O+F[5][1]^2)[1][2]; Factorization((omega-1)*O+F[6][1]^2)[1][2],Factorization((omega-3)*O+F[6][1]^2)[1][2]; Factorization((omega-1)*O+F[7][1]^2)[1][2],Factorization((omega-3)*O+F[7][1]^2)[1][2]; Factorization((omega-1)*O+F[8][1]^2)[1][2],Factorization((omega-3)*O+F[8][1]^2)[1][2]; A:=Automorphisms(K); for phi in A do phi(omega); end for; phi:=A[2]; phi(x); (phi^2)(x); (phi^4)(x); (phi^8)(x); omega0:=omega; omega1:=omega*phi(omega); omega2:=omega*((phi^2)(omega)); omega2; Conjugate(omega2,1); Conjugate(omega2,2); Conjugate(omega2,3); Conjugate(omega2,4); Conjugate(omega2,5); Conjugate(omega2,6); Conjugate(omega2,7); Conjugate(omega2,8); omega1; Conjugate(omega1,1); Conjugate(omega1,2); Conjugate(omega1,3); Conjugate(omega1,4); Conjugate(omega1,5); Conjugate(omega1,6); Conjugate(omega1,7); Conjugate(omega1,8); omega0; Conjugate(omega0,1); Conjugate(omega0,2); Conjugate(omega0,3); Conjugate(omega0,4); Conjugate(omega0,5); Conjugate(omega0,6); Conjugate(omega0,7); Conjugate(omega0,8); omega; Factorization((omega-2^5)*O+F[1][1]^7)[1][2]; Factorization((omega+2^5)*O+F[1][1]^7)[1][2]; Factorization((omega-1)*O+F[2][1]^2)[1][2]; Factorization((omega-3)*O+F[2][1]^2)[1][2]; Factorization((omega-1)*O+F[3][1]^2)[1][2]; Factorization((omega-3)*O+F[3][1]^2)[1][2]; Factorization((omega-1)*O+F[4][1]^2)[1][2]; Factorization((omega-3)*O+F[4][1]^2)[1][2]; Factorization((omega-1)*O+F[5][1]^2)[1][2]; Factorization((omega-3)*O+F[5][1]^2)[1][2]; Factorization((omega-1)*O+F[6][1]^2)[1][2]; Factorization((omega-3)*O+F[6][1]^2)[1][2]; Factorization((omega-1)*O+F[7][1]^2)[1][2]; Factorization((omega-3)*O+F[7][1]^2)[1][2]; Factorization((omega-1)*O+F[8][1]^2)[1][2]; Factorization((omega-3)*O+F[8][1]^2)[1][2];