(* ----------------------------------------------------------------------------
* $Id: DINNGB.md,v 1.1 1995/12/16 13:23:13 kredel Exp $
* ----------------------------------------------------------------------------
* Copyright (c) 1993 Universitaet Passau
* ----------------------------------------------------------------------------
* This file is part of MAS.
* ----------------------------------------------------------------------------
* $Log: DINNGB.md,v $
* Revision 1.1 1995/12/16 13:23:13 kredel
* Moved from the masdom directory.
*
* Revision 1.1 1994/03/11 15:35:17 pesch
* Groebner bases for non noetherian polynomial rings.
* Diplomarbeit I. Bader.
* Modified.
* Does not give correct results. Do not use.
* Should be rewritten.
*
* ----------------------------------------------------------------------------
*)
DEFINITION MODULE DINNGB;
(* DIP Groebner bases for non noetherian polynomial rings.*)
(* Import lists and declarations. *)
FROM MASSTOR IMPORT LIST;
CONST rcsid = "$Id: DINNGB.md,v 1.1 1995/12/16 13:23:13 kredel Exp $";
CONST copyright = "Copyright (c) 1993 Universitaet Passau";
PROCEDURE DINNCP(EL,A,B: LIST): LIST;
(* distributive polynomial non-commutative product. e is a non-negative
integer. A and B are distributive polynomials in 2 variables. C is the
non-commutative product of A and B with respect to Y * X = X**e Y. *)
PROCEDURE EVNNCP(EL,S,T: LIST): LIST;
(* exponent vector non-commutative product. S and T are exponent vectors.
of length 2. C is the non-commutative product S * T with respect
to the relation Y * X = X**e Y. *)
PROCEDURE EVNRDT(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative right division test. s and t are
exponent vectors. C=1 if s rdiv t otherwise, C=0. *)
PROCEDURE EVNCRD(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative right division. s and t a are
exponent vectors, if s rdiv t then the output is t//s. *)
PROCEDURE EVNLDT(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative left division test. s and t are
exponent vectors. C=1 if s ldiv t otherwise, C=0. *)
PROCEDURE EVNCLD(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative left division. s and t a are
exponent vectors. The output is s\\t if s ldiv t . *)
PROCEDURE EVLLCM(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative least left common multiple. s and t are
exponent vectors. C is the least left common multiple of s and t. *)
PROCEDURE EVLRCM(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative least right common multiple.
s and t exponent vectors. C is the least right common multiple
of s and t if it exists! *)
PROCEDURE EVRCMT(EL,S,T:LIST):LIST;
(* exponent vectors non-commutative right multiple test.
S and T are exponent vectors. C=1 if S and T have some right common
multiple otherweise, C=0. *)
PROCEDURE DNNLNF(EL,P,S:LIST):LIST;
(* distributive polynomials non-noetherian left normal form.
P is a list of non zero polynomials in distributive rational representation.
S is a distributive rational polynomial. R is a polynomial such that S is
left reducible to R modulo P and R is in normal form with respect to P. *)
PROCEDURE DNNLIS(EL,P: LIST): LIST;
(* distributive polynomials non-noetherian left irreducible set.
P is a list of distributive rational polynomials, PP is the
result of left reducing each p element of P modulo P-(p)
until no further reductions are possible. *)
PROCEDURE DNNLSP(EL,A,B:LIST):LIST;
(* distributive polynomials non-noetherian left S-polynomial.
A and B are polynomials in distributive rational representation
in 2 variables. C is the left S-polynomial of A and B. *)
PROCEDURE DNNLGB(EL,P,TF: LIST): LIST;
(* distributive non-noetherian polynomials left Groebner base.
P is a list of rational polynomials in distributive representation
in 2 variables. PP is the left Groebner base of P. t is the
trace flag. *)
PROCEDURE DNNRNF(EL,P,S:LIST):LIST;
(* distributive polynomials non-noetherian right normal form.
P is a list of non zero polynomials in distributive rational representation.
S is a distributive rational polynomial. R is a polynomial such that S is
right reducible to R modulo P and R is in normal form with respect to P. *)
PROCEDURE DNNRIS(EL,P: LIST): LIST;
(* distributive polynomials non-noetherian right irreducible set.
P is a list of distributive rational polynomials, PP is the
result of right reducing each p element of P modulo P-(p)
until no further reductions are possible. *)
PROCEDURE DNNRSP(EL,A,B:LIST):LIST;
(* distributive polynomials non-noetherian right S-polynomial.
A and B are polynomials in distributive rational representation.
C is the right S-polynomial of A and B if it exists! *)
PROCEDURE DNNRGB(EL,P,TF: LIST): LIST;
(* distributive polynomials non-noetherian right Groebner base.
P is a list of rational polynomials in distributive representation in
2 variables. PP is the right Groebner base of P. t is the trace flag. *)
PROCEDURE DNLCPL(EL,P: LIST; VAR D,B: LIST);
(* distributive polynomial non-noetherian left construct pair list.
P is list of polynomials in distributive representation in 2 variables.
B is the polynomials pairs list and D is the pairs list. *)
PROCEDURE DNRCPL(EL,P: LIST; VAR D,B: LIST);
(* distributive polynomial non-noetherian right construct pair list.
P is list of polynomials in distributive representation in 2 variables.
B is the polynomials pairs list and
D is the pairs list. *)
PROCEDURE DNLUPL(EL,PL,P,D,B: LIST): LIST;
(* distributive polynomial non-noetherian left update pair list.
P is list of polynomials in distributive representation in 2 variables.
B is the polynomials pairs list and D is the pairs list. p is a non zero
polynomial in distributive representation. D, P and B are modified.
DP is the updated pairs list. *)
PROCEDURE DNRUPL(EL,PL,P,D,B: LIST): LIST;
(* distributive polynomial non-noetherian right update pair list.
P is list of polynomials in distributive representation in 2 variables.
B is the polynomials pairs list and
D is the pairs list. p is a non zero polynomial in
distributive representation. D, P and B are modified.
DP is the updated pairs list. *)
PROCEDURE DNN2GB(EL,P,TF: LIST): LIST;
(* distributive polynomials non-noetherian 2-sided Groebner base.
P is a list of rational polynomials in distributive representation
in 2 variables. PP is the Groebner base of P. t is the trace flag.*)
PROCEDURE DNNTGB(EL,P,TF:LIST):LIST;
(* distributive polynomials non-noetherian two-sided Groebner base. P is
a list of rational polynomials in distributive representation in 2
variables. PP is the two-sided Groebner base of P. t is the trace
flag. The non-commutative produkt is computed w.r.t Y*X=X**eY. *)
PROCEDURE DNNLES(EL,P:LIST):LIST;
(* distributive polynomials non-noetherian left exponents set.
P is a list of polinomials in distributive representation. PP is the
the list which is result of *-multiplication of each polynomial of P
from the left with the main variable. The non-commutative
multiplication is computed w.r.t the relation Y * X = X**e Y. *)
PROCEDURE DNNRES(EL,P,DL,DP:LIST):LIST;
(* distributive polynomials non-noetherian right exponents set. P is a
list of polynomials in distributive representation, d and d'are non-
negative integers with d' >= d. PP is the is result of *-multiplication
of each polynomial of P from the right with exponents (e**i) of the
first variable in the variable list, where i ranges from d to d'.
The *-multiplication is computed w.r.t the relation Y * X = X**e Y. *)
PROCEDURE DIPSPS(D,B:LIST):LIST;
(* distibutive polynomials S-polynomials set.
D is the pairs list and B is the polynomials pairs list.
D and B are modified. H is the set of all non-zero S-polynomials. *)
PROCEDURE DIPLMD(P:LIST):LIST;
(* distributive polynomial list maximum degree.
P is a non-empty list of polynomials in distributive form in r variables.
d is the maximum degree of all polynomials of P w.r.t the main variable .*)
PROCEDURE IPOWER(EL,AL:LIST):LIST;
(* integer power. e and a are positive integers. C=e**a. *)
END DINNGB.
(* -EOF- *)