Representation of algebraic numbers as elements of a finite extension of rationals.

a=AlgebraicNumber[Root[((#)^3)-#+1&,1],{1,2,3}]

N[a,20]

AlgebraicNumber[Root[2 ((#)^4)-3 #+2&,1],{1,2,3,4,5,6}]

AlgebraicNumber[Root[((#)^5)-7 #+1&,1],{0,7,0,0,0,-1}]

a=AlgebraicNumber[Root[((#)^4)+7 #-21&,1],{1,2,3,4}];
b=AlgebraicNumber[Root[((#)^4)+7 #-21&,1],{9,8,7,5}];
((2 (a^2)-3 a b+5 (b^5)-3)/((a^8)-(b^4)+(1/2)))+9

RootReduce[a]

Representing arbitrary algebraic numbers as elements of algebraic number fields.

ToNumberField[{(Sqrt[2]),(Sqrt[3])}]

ToNumberField[(Sqrt[6]),Root[1-10 ((#)^2)+((#)^4)&,4]]

{a,b,c}={I,(Sqrt[2]),Root[((#)^3)-2 #+3&,1]};
f=((-2 y z (7+x-y+(z^2))+(6+(x^2)+2 y) (-11+x y+(z^2)))/(2 y z (-4-x+3 y z)-(6+(x^2)+2 y) (2-2 x+(z^3))));

RootReduce[f/.{x->a,y->b,z->c}]//Timing

({aa,bb,cc}=ToNumberField[{a,b,c}])//Timing

(d=((-2 y z (7+x-y+(z^2))+(6+(x^2)+2 y) (-11+x y+(z^2)))/(2 y z (-4-x+3 y z)-(6+(x^2)+2 y) (2-2 x+(z^3))))/.{x->aa,y->bb,z->cc})//Timing

RootReduce[d]//Timing

ToNumberField[{AlgebraicNumber[Root[1-10 ((#)^2)+((#)^4)&,4],{0,-(9/2),0,(1/2)}],(Sqrt[5])}]

ToNumberField[{AlgebraicNumber[Root[1-10 ((#)^2)+((#)^4)&,4],{0,-(9/2),0,(1/2)}],(Sqrt[5])},All]

Functions for computing algebraic number properties.

MinimalPolynomial[(Sqrt[2])+(Sqrt[3])]

MinimalPolynomial[((Root[((#)^5)-2 #+7&,1])^2)+1,x]

AlgebraicIntegerQ[(1/2) (1+(Sqrt[5]))]

AlgebraicIntegerQ[(1/4) (1+(Sqrt[5]))]

AlgebraicNumberDenominator[(1/4) (1+(Sqrt[5]))]

AlgebraicNumberTrace[(((-1))^(1/7))]

AlgebraicNumberNorm[(Sqrt[3])+(Sqrt[5])]

AlgebraicUnitQ[GoldenRatio]

AlgebraicUnitQ[AlgebraicNumber[Root[((#)^3)-4 #+17&,1],{1,2,3}]]

RootOfUnityQ[(1/2) ((Sqrt[2+(Sqrt[2])])+I (Sqrt[2-(Sqrt[2])]))]

Functions for computing properties of elements of algebraic number fields.

a=AlgebraicNumber[Root[1-10 ((#)^2)+((#)^4)&,4],{0,-(9/2),0,(1/2)}];
MinimalPolynomial[a,x]
MinimalPolynomial[a,x,Extension->Automatic]//Factor

a=AlgebraicNumber[Root[1-10 ((#)^2)+((#)^4)&,4],{1,-(9/2),0,(1/2)}];
AlgebraicNumberTrace[a]
AlgebraicNumberTrace[a,Extension->Automatic]

a=AlgebraicNumber[Root[1-10 ((#)^2)+((#)^4)&,4],{5,-(9/2),0,(1/2)}];
AlgebraicNumberNorm[a]
AlgebraicNumberNorm[a,Extension->Automatic]

Functions of computing properties of algebraic number fields.

NumberFieldIntegralBasis[(18^(1/3))]

NumberFieldIntegralBasis[Root[533+429 #+18 ((#)^2)+((#)^3)&,1]]

NumberFieldIntegralBasis[533+429 #+18 ((#)^2)+((#)^3)&,1]

NumberFieldRootsOfUnity[Root[9-2 ((#)^2)+((#)^4)&,4]]

NumberFieldRootsOfUnity[1+I (Sqrt[3])]

NumberFieldFundamentalUnits[Root[((#)^4)-10 ((#)^2)+1&,3]]

NumberFieldFundamentalUnits[(Sqrt[21])]

NumberFieldNormRepresentatives[Root[((#)^2)-7&,1],9]

NumberFieldNormRepresentatives[(Sqrt[2])+(Sqrt[3]),2]

NumberFieldSignature[Root[((#)^5)+((#)^4)+((#)^3)+((#)^2)+1&,1]]

a=(Sqrt[2])+Root[((#)^3)-11 #-2&,1]+AlgebraicNumber[Root[((#)^4)-3 #+1&,2],{1,2,3}];
NumberFieldSignature[a]

NumberFieldDiscriminant[2-(Sqrt[3])+(5^(1/4))]

NumberFieldDiscriminant[((#)^5)+((#)^4)+((#)^3)+((#)^2)+1&]

NumberFieldRegulator[(Sqrt[61])]

NumberFieldRegulator[((#)^3)-3 ((#)^2)+1&]

NumberFieldClassNumber[Sqrt[-71]]