(* ---------------------------------------------------------------------------- * $Id: DIPDDGB.md,v 1.1 1993/05/11 10:13:41 kredel Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1989 - 1993 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: DIPDDGB.md,v $ * Revision 1.1 1993/05/11 10:13:41 kredel * Initial Revision * * ---------------------------------------------------------------------------- *) DEFINITION MODULE DIPDDGB; (* DIP Domain D-Groebner Bases Definition Module. *) (* Author: W. Mark, Uni Passau, 1992. *) FROM MASSTOR IMPORT LIST; PROCEDURE DIDPELIMDGB(P : LIST) : LIST; (*Distributive domain polynomial eliminate D-groebner base. P is a list of non zero polynomials in distributive integral representation in r variables. ELIMDGB eliminates the polynominials with respect to the divisibility of the highest monominials. *) PROCEDURE DIDPTDR(P, lcmHT, pair : LIST): LIST; (*Distributive domain polynomial top-D-reduzibel. P is a list of non zero polynomials in distributive integral representation in r variables. pair is a pair two integral polynomials in distributive representation. lcmHT is the lcm of the highest terms of the two polynomials. TDR is a boolean value which equals 1, if g is top-D- reduzibel modulo P and 0 if not. *) PROCEDURE DIDPCPLMS1(P : LIST) : LIST; (*Distributive domain polynomial list construct pairs list merge sort. P is a list of non zero polynomials in distributive integral representation in r variables. CPLMS1 sorts a constructed pairs list in the following ascending order: 1. lcm of the highest terms 2. lcm of the highest coefficients P will be changed. *) PROCEDURE DIDPLM1(onestep, twostep : LIST) : LIST; (*Distributive domain polynomial list merge sort. P is a list of non zero polynomials in distributive integral representation in r variables. LM1 merges two (onestep, twostep) constructed pairs lists in the same manner as DIDPLCPLMS1. The lists onestep and twostep will be changed. *) PROCEDURE DIDPUCPL1(P, g, Old : LIST) : LIST; (*Distributive domain polynomial update constructed pairs list. P is a list of integral polynomials in distributive representation. g ist a polynomial in distributive representation. Both are polynomials in r variables. Old is the constructed and sorted pairs list to be updated. *) PROCEDURE DIDPGPOL(g1,g2: LIST): LIST; (*Distributive domain polynomial g polynomial. g1 and g2 are integral polynomials in distributive representation. GPOL is the G-polynomial of g1 and g2. *) PROCEDURE DIDPSPOL2(g1, g2, lcmHT, lcmHK: LIST): LIST; (*Distributive domain polynomial s polynomial. g1 and g2 are integral polynomials in distributive representation. lcmHT is the lcm of the highest terms of g1 and g2. lcmHK is the lcm of the highest coefficients of g1 and g2. polynomials in pair. SPol is the S-polynomial of g1 and g2. *) PROCEDURE DIDPLEXTAL(AL, g : LIST) : LIST; (*Distributive domain polynomial list extend array list. AL is an array list. g is a polynomial in distributive representation in r variables. Ag is the extended array list of AL. The list AL is modified. *) PROCEDURE DIDPLCPL4(P : LIST; VAR CPL, AL : LIST); (*Distributive domain polynomial list construct pair list. P is a list of polynomials in distributive representation in r variables. CPL is the constructed pairs list, AL is the Array list. *) PROCEDURE DIDPALCMPC(AL, g1, g2, flag : LIST) : LIST; (*Distributive domain polynomial array list check and mark polynomials. AL is an array list. g1, g2 are polynomials in distributive representation in r variables. flag determines whether the pair will be marked as computed or only checked. 1 means to mark 0 only to check. The value 1 is returned if the pair (g1,g2) is already computed otherwise 0 is returned. *) PROCEDURE DIDPENF(P,varl,g: LIST): LIST; (*Distributive domain polynomial E-normal form. P is a list of non zero polynomials in distributive integral representation in r variables. g is a distributive integral polynomial. ENF is a polynomial such that g is e-reducible to ENF modulo P and ENF is in E-normalform modulo P. *) PROCEDURE DIDPREDDGB(P : LIST) : LIST; (*Distributive domain polynomial reduce D-groebner base. P is a list of non zero polynomials in distributive integral representation in r variables. REDDGB reduces the polynominials. It is nescessary that the highest monomials are pairwise disjoint. *) PROCEDURE DIDPSPOL(g1,g2: LIST): LIST; (*Distributive domain polynomial s polynomial. g1 and g2 are integral polynomials in distributive representation. SPol is the S-polynomial of g1 and g2. *) PROCEDURE DIDPDNF(P,varl,g: LIST): LIST; (*Distributive domain polynomial D-normal form. P is a list of non zero polynomials in distributive integral representation in r variables. g is a distributive integral polynomial. NF is a polynomial such that g is reducible to NF modulo P and NF is in D-normalform modulo P. *) PROCEDURE DIDPDGB(F, TF : LIST): LIST; (*Distributive domain polynomial D-groebner basis. F is a list of integral polynomials in distributive representation in r variables. G is the groebner basis of F. TF the trace flag. *) PROCEDURE DIDPEGB(F, DP, TF : LIST): LIST; (*Distributive domain polynomial E-groebner basis. F is a list of integral polynomials in distributive representation in r variables. DP is a domain element with descriptor. G is the groebner basis of F. TF the trace flag. *) END DIPDDGB.