(* ---------------------------------------------------------------------------- * $Id: DIPDCIB.md,v 1.1 1995/10/12 14:44:48 pesch Exp $ * ---------------------------------------------------------------------------- * This file is part of MAS. * ---------------------------------------------------------------------------- * Copyright (c) 1995 Universitaet Passau * ---------------------------------------------------------------------------- * $Log: DIPDCIB.md,v $ * Revision 1.1 1995/10/12 14:44:48 pesch * Diplomarbeit Rainer Grosse-Gehling. * Involutive Bases. * Slightly edited. * * ---------------------------------------------------------------------------- *) DEFINITION MODULE DIPDCIB; (* DIP Decompositional Involutive Bases Definition Module. *) FROM MASSTOR IMPORT LIST; CONST rcsidi = "$Id: DIPDCIB.md,v 1.1 1995/10/12 14:44:48 pesch Exp $"; CONST copyrighti = "Copyright (c) 1995 Universitaet Passau"; PROCEDURE SetDCIBopt(options: LIST); (* Set decompositional involutive base options. Input: a list of max. 4 options in the order: TraceLevel, DecomProc, VarOrd, Depth of tree. *) PROCEDURE SetDCIBTraceLevel(TL: INTEGER); (* Set Decompositional involutive base Trace Level. Input: an integer 0<= TL <= 3, 0: default, no output, >0: output of time, >1: output of messages about tree of computation, >2: detailed messages about tree of computation. *) PROCEDURE SetDCIBDecomp(DCP: INTEGER); (* Set decompositional involutive base decomposition. Set the procedure which is used for polynomial decomposition. 1: complete factorisation 2: squarefree decomposition *) PROCEDURE SetDCIBVarOrdOpt(VOO: INTEGER); (* Set decompositional involutive base variable order option. VOO is an integer with meaning: 0: do not optimize, 1: optimize at factorization *) PROCEDURE SetDCIBdepth(d: INTEGER); (* Set decompositional involutive base depth of tree. Input: an integer with <0: unrestricted growth of tree 0: no computation possible, >0: depth of tree is restricted through d *) PROCEDURE InvolutiveBases(G, V: LIST): LIST; (* Involutive Bases. G is a list of polynomials in distributive representation over an arbitrary domain, returns a list (IB1,...,IBk) of involutive bases, where Z(G) = Z(IB1) v ... v Z(IBk). *) PROCEDURE DILNFJ(H,G: LIST): INTEGER; (* Distributive Polynomial List normalform in the sense of Janet. H,G are distributive polynomial lists, returns 0 if each polynomial in H is Janet-reducible to 0 modulo G, 1 else. *) PROCEDURE IBLWR(PP,V: LIST); (* Involutive bases list write. PP is a list of involutive bases in distributive representation. V is a variable list *) PROCEDURE DecCounter(VAR counter: LIST; VAR length_of_counter: INTEGER); (* Decrement counter. counter is a list of integers, the first element of counter is removed *) PROCEDURE IncCounter(VAR counter: LIST; VAR loc: INTEGER; add: INTEGER); (* Increment counter. Increment the first entry of the counter list or append a new element. Input: counter: a list of integers, add = 0: append a new element and increment counterlength loc, or add>0: increment the first element by add *) PROCEDURE CounterWR(counter: LIST); (* Counter Write. write the given list counter as the number of a reached node *) END DIPDCIB. (* -EOF- *)