(* ----------------------------------------------------------------------------
 * $Id: SACEXT4.md,v 1.2 1992/02/12 17:34:49 pesch Exp $
 * ----------------------------------------------------------------------------
 * This file is part of MAS.
 * ----------------------------------------------------------------------------
 * Copyright (c) 1989 - 1992 Universitaet Passau
 * ----------------------------------------------------------------------------
 * $Log: SACEXT4.md,v $
 * Revision 1.2  1992/02/12  17:34:49  pesch
 * Moved CONST definition to the right place
 *
 * Revision 1.1  1992/01/22  15:15:30  kredel
 * Initial revision
 *
 * ----------------------------------------------------------------------------
 *)

DEFINITION MODULE SACEXT4;

(* SAC Extensions 4 Definition Module. *)



FROM MASSTOR IMPORT LIST;

CONST rcsid = "$Id: SACEXT4.md,v 1.2 1992/02/12 17:34:49 pesch Exp $";
CONST copyright = "Copyright (c) 1989 - 1992 Universitaet Passau";



PROCEDURE IPINT(RL,A,BL: LIST): LIST; 
(*Integral polynomial integration.  A is a non-zero integral
polynomial in r variables, r ge 1, such that the integral of a with
respect to its main variable is an integral polynomial.  b is an
integral polynomial in r-1 variables.  B eq B(x sub 1 , ..., x sub r )
is the integral of a with respect to its main variable, such that
B(x sub 1 , ..., x sub r-1 ,0) eq b.*)


PROCEDURE IUPIHT(A,NL: LIST): LIST; 
(*Integral univariate polynomial integer homothetic transformation.
A is a non-zero univariate integral polynomial.  n is a non-zero
integer.  B(x) is the primitive part of A(nx).*)


PROCEDURE PCONST(RL,A: LIST): LIST; 
(*Polynomial constant.  A(x sub 1 ,  ..., x sub r ) is a polynomial
in r variables, r ge 1.  b eq 1 if a is a constant polynomial,
otherwise b eq 0.*)


PROCEDURE PSDSV(RL,A,IL,NL: LIST): LIST; 
(*Polynomial special decomposition, specified variable.  A is a
polynomial in r variables.  1 le i le r and n is a beta-integer such
that each exponent of x sub i occurring in a is divisible by n.
B is A with each exponent e of x sub i replaced by e/n.*)


PROCEDURE PUNT(RL,A: LIST): LIST; 
(*Polynomial univariate test.  A eq A(x sub 1 , ..., x sub r ) is a
polynomial in r variables, r ge 1.  b eq 2 if A has degree zero in all
variables.  b eq 1 if A has degree zero in x sub 2 , ..., x sub r, but
positive degree in x sub 1.  otherwise b eq 0.*)


PROCEDURE RPDMV(RL,A: LIST): LIST; 
(*Rational polynomial derivative, main variable.  A is a rational
polynomial in r variables.  B is the derivative of A with respect to
its main variable.*)


PROCEDURE RPMAIP(RL,A: LIST): LIST; 
(*Rational polynomial monic associate of integral polynomial.
A is an integral polynomial in r variables, r ge 1.  If A eq 0
then B eq 0.  if A ne 0, let the integer a be the leading base
coefficient of A.  Then B eq (1/a) A, a monic rational polynomial.*)


END SACEXT4.

(* -EOF- *)