
(* SAC Algebraic Number Field Definition Module. *)

DEFINITION MODULE SACANF;


FROM MASSTOR IMPORT LIST;


PROCEDURE AFDIF(AL,BL: LIST): LIST; 
(*Algebraic number field element difference.  AL and BL are elements
of Q(alpha) for some algebraic number alpha.  CL=AL-BL.*)


PROCEDURE AFINV(M,AL: LIST): LIST; 
(*Algebraic number field inverse.  AL is a nonzero
element of Q(alpha) for some algebraic number alpha.  M is the
rational minimal polynomial for alpha.  BL=1/AL.*)


PROCEDURE AFNEG(AL: LIST): LIST; 
(*Algebraic number field element negation.  AL is an element of
Q(alpha) for some algebraic number alpha.  BL= -AL.*)


PROCEDURE AFPROD(M,AL,BL: LIST): LIST; 
(*Algebraic number field element product.  AL and BL are elements of
Q(alpha) for some algebraic number alpha.  M is the minimal polynomial
of alpha.  CL=AL+BL.*)


PROCEDURE AFQ(M,AL,BL: LIST): LIST; 
(*Algebraic number field quotient.  AL and BL are
elements of Q(alpha) for some algebraic number alpha with BL
nonzero.  M is the minimal polynomial for alpha.  CL=AL/BL.*)


PROCEDURE AFSIGN(M,I,AL: LIST): LIST; 
(*Algebraic number field sign.  M is the integral minimal polynomial
of a real algebraic number alpha.  I is an acceptable isolating
interval for alpha.  AL is an element of Q(alpha).  SL=SIGN(AL).*)


PROCEDURE AFSUM(AL,BL: LIST): LIST; 
(*Algebraic number field element sum.  AL and BL are elements of
Q(alpha) for some algebraic number alpha.  CL=AL+BL.*)


PROCEDURE RUPMRN(R: LIST): LIST; 
(*Rational univariate polynomial minimal polynomial of a rational num-
ber.  R is a rational number.  M is the rational minimal polynomial
of R.*)


END SACANF.
