\section{ DIP Exterior Algebra  } 
\proc{COPYOB} (A: LIST): LIST; \eproc
\bcom Copy object. A is an object. B is the copy of A. \ecom 
\proc{EIMWRT} (A: LIST); \eproc
\bcom Exterior integral matrix write. A is an exterior
integral matrix. A is written in the output stream. \ecom 
\proc{EIVABS} (U: LIST): LIST; \eproc
\bcom Exterior integral vector absolute value. U is an
exterior integral vector. V is the absolute value of U.  \ecom 
\proc{EIVAPP} (U: LIST): LIST; \eproc
\bcom Exterior integral vector absolute primitive part. U is an
exterior integral vector. V is the absolute primitive part of U.  \ecom 
\proc{EIVCPP} (U: LIST; VAR V,VL: LIST); \eproc
\bcom Exterior integral vector content and primitive part.
U is an exterior integral vector. v is the content and
V is the primitive part of U.  \ecom 
\proc{EIVEPR} (U,V: LIST): LIST; \eproc
\bcom Exterior integral vector exterior product. U and V are exterior
integral vectors. W is the exterior product of U and V. \ecom 
\proc{EIVFUP} (A,PL: LIST): LIST; \eproc
\bcom Exterior integral vector from univariate integral polynomial
with multiplication by power of main variable. A is an
univariate integral polynomial. p is a beta-integer. B is the
exterior integral vector from A(x)*(x**p).  \ecom 
\proc{EIVILP} (U,V: LIST): LIST; \eproc
\bcom Exterior integral vector inner left product. U and V are
exterior integral vectors. W is the inner left
product of U and V. \ecom 
\proc{EIVIP} (A,BL: LIST): LIST; \eproc
\bcom Exterior integral vector integer product. A is an
exterior integral vector, b is an integer, C=A*b.  \ecom 
\proc{EIVIQ} (A,BL: LIST): LIST; \eproc
\bcom Exterior integral vector integer quotient. A is an
exterior integral vector, b is a nonzero integer,
and b divides any coefficient of A. C=A/b. \ecom 
\proc{EIVIRP} (U,V: LIST): LIST; \eproc
\bcom Exterior integral vector inner right product. U and V are
exterior integral vectors. W is the inner right
product of U and V. \ecom 
\proc{EIVNEG} (U: LIST): LIST; \eproc
\bcom Exterior integral vector negative. U is an exterior
integral vector. V is the negative of U.  \ecom 
\proc{EIVPP} (U: LIST): LIST; \eproc
\bcom Exterior integral vector primitive part. U is an
exterior integral vector. V is the primitive part of U.  \ecom 
\proc{EIVSIG} (U: LIST): LIST; \eproc
\bcom Exterior integral vector sign. U is an exterior
integral vector. s is the sign of U.  \ecom 
\proc{EIVSUM} (U,V: LIST): LIST; \eproc
\bcom Exterior integral vector sum. U and V are exterior
integral vectors. W is the sum of U and V. \ecom 
\proc{EIVWRT} (A: LIST); \eproc
\bcom Exterior integral vector write. A is an exterior
integral vector. A is written in the output stream. \ecom 
\proc{EXIDET} (M: LIST): LIST; \eproc
\bcom Exterior integral matrix determinant. M is an exterior integral
matrix. d is the determinant of A. \ecom 
\proc{EXIDT2} (M: LIST): LIST; \eproc
\bcom Exterior integral matrix determinant 2. M is an exterior integral
matrix. d is the determinant of A. \ecom 
\proc{EXMHOM} (M: LIST): LIST; \eproc
\bcom Exterior matrix homomorphism. M=(m1,... ,mn) is a
vector of integral vectors mi, 0 le i le n. MS is a
vector of exterior integral vectors, MS=(ms1,... ,msn).
were msi=EXVHOM(mi).  \ecom 
\proc{EXVHOM} (U,SL: LIST): LIST; \eproc
\bcom Exterior vector homomorphism. U=(u1,... ,un) is an
integral vector of n components, 0 le n. s is the
starting index for the exterior index list.
V=(u1,(s),... ,un,(s+n)).  \ecom 
\proc{ITD} (A: LIST): LIST; \eproc
\bcom Integer trailing digit. A is an integer,
A = b mod beta. \ecom 
\proc{IJACS} (X,Y: LIST): LIST; \eproc
\bcom Integer Jacobi symbol algorithm. Y is an odd
positive integer, X is an integer relatively prime
to Y. s=(X/Y).  \ecom 
\proc{ILADDC} (U,CL: LIST): LIST; \eproc
\bcom Index list addition of constant. U is an index list, c is
a beta-integer. V=(u1+c, ...,un+c) where U=(u1, ...,un). 
n ge 0.  \ecom 
\proc{ILEXPR} (U,V: LIST; VAR W,SL: LIST); \eproc
\bcom Index list exterior product. U, V and W are index lists.
W is the exterior product of U and V. s is the sign
of the exterior product. If s = 0 then W = ().  \ecom 
\proc{ILILPR} (U,V: LIST; VAR W,SL: LIST); \eproc
\bcom Index list inner left product. U, V and W are index lists.
W is the inner left product of U and V. s is the sign
of the inner left product. If s = 0 then W = ().  \ecom 
\proc{ILINPR} (U,V: LIST; VAR W,SL: LIST); \eproc
\bcom Index list inner product. U, V and W are index lists. W
is the inner product of U and V, i.e. if U is contained
in V then W is the complement of U in V, otherwise the sign
of the inner product is set to zero. s is the sign of
the inner product.  \ecom 
\proc{ILIRPR} (U,V: LIST; VAR W,SL: LIST); \eproc
\bcom Index list inner right product. U, V and W are index lists.
W is the inner right product of U and V. s is the sign
of the inner right product. if s = 0 then W = ().  \ecom 
\proc{ILSCMP} (U,V: LIST): LIST; \eproc
\bcom Index list strong compare. U=(u1,... ,un), V=(v1,... vm)
are index lists with length n and m. t=1 if n gt m,
t=-1 if n lt m. If n=m then t=0 if U=V,
t=1 if U gt V, t=-1 if U lt V. \ecom 
\proc{ILWCMP} (U,V: LIST): LIST; \eproc
\bcom Index list week compare. U=(u1,... ,un), V=(v1,... vm) are
index lists. t=0 if U=V, t=1 if U gt V, t=-1 if U lt V. \ecom 
\proc{INDLST} (RL,SL: LIST): LIST; \eproc
\bcom Index list. Starting with r and ending with s. \ecom 
\proc{INLWRT} (U: LIST); \eproc
\bcom Index list write. U is an exterior index list.
U is written in the output stream. \ecom 
\proc{IPSR} (R: LIST): LIST; \eproc
\bcom Integral polynomial specified roots. R is a list of integers.
A is an integral univariate polynomial with roots from R.  \ecom 
\proc{IVHOM} (U,IL,JL: LIST): LIST; \eproc
\bcom Integer vector homomorphism. U=(u1,(s),... ,un,(r))
is an exterior integral vector. i is the starting index
for the integral vector and j is its ending index.
V=(vi,... ,vj).  \ecom 
\proc{IVRAND} (KL,QL,NL: LIST): LIST; \eproc
\bcom Integer vector random. U is an random integer vector with
n components, 0 le n, and the absolut value of each
component is lt 2**k. q is a rational number qd/qn,
with 0 lt qd le qn lt beta. So q is the propability
that any particular component of V is not zero. \ecom 
\proc{KREISP} (NL: LIST): LIST; \eproc
\bcom Kreisteilungs polynom. n is a beta-integer gt 1.
A is an univariate integral polynomial.  \ecom 
\proc{MDVHOM} (ML,U: LIST): LIST; \eproc
\bcom Modular vector homomorphism. U is an integral vector.
V is a modular vector. m is a beta-integer. \ecom 
\proc{MIRAND} (KL,QL,NL,ML: LIST): LIST; \eproc
\bcom Matrix random. M is an integral matrix with n rows generated
by IVRAND(k,q,m).  \ecom 
\proc{POWSEV} (PL,A: LIST): LIST; \eproc
\bcom Power of variable symmetric product with exterior vector.
p is a beta-integer. A is an exterior vector. B is the
symmetric product of x**p and A. \ecom 
\proc{UIPRES} (A,B: LIST; VAR CL,KL: LIST); \eproc
\bcom Univariate integral polynomials resultant. A and B are
univariate integral polynomials. c is the resultant of
A and B. k is the degree of the common factor.  \ecom 
\proc{UIPRS1} (A,B: LIST): LIST; \eproc
\bcom Univariate integral polynomials resultant 1. A and B are
univariate integral polynomials. c is the resultant of
A and B.  \ecom 
\proc{UIPSIL} (A,EL: LIST): LIST; \eproc
\bcom Univariate integral polynomial symmetric product with exterior index list.
A is an univariate integral polynomial. e is an exterior index 
list. B is the symmetric product of A and e. \ecom 
\proc{UIPSIV} (A,B: LIST): LIST; \eproc
\bcom Univariate integral polynomial symmetric product with exterior integral vector.
A is an univariate integral polynomial. B is an exterior integral 
vector. C is the symmetric product of A and B. \ecom 
\section{ MAS Non-commutative  } 
\proc{DINPPR} (T,A,B: LIST): LIST; \eproc
\bcom Distributive polynomial non-commutative product.
A and B are distributive polynomials. T is a table
of distributive polynomials specifying the non-commutative
relations. C=A*B, the non-commutative product of A and B.
The table T may be modified.  \ecom 
\proc{DINPTL} (T,EL,FL: LIST; VAR C,EP,FP: LIST); \eproc
\bcom Distributive polynomial non-commutative product table lookup.
e and f are exponent vectors. T is a table
of distributive polynomials specifying the non-commutative
relations. C is the non-commutative product of x**es and x**fs.
ep and fp are exponent vectors with es+ep=e and fs+fp=f.
If e=es or f=fs then ep=() or fp=().  \ecom 
\proc{DINPTU} (T,EL,FL,C: LIST); \eproc
\bcom Distributive polynomial non-commutative product table update.
e and f are exponent vectors. T is a table
of distributive polynomials specifying the non-commutative
relations. C is a distributive rational polynomial. The relation
e * f = C is added to T. T is modified.  \ecom 
\proc{DINPEX} (T,A,NL: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial exponentiation. A is a
distributive rational polynomial, n is a non-negative beta-
integer. T is a table of non-commutative relations.
B=A**n. 0**0 is by definition a polynomial in zero variables.  \ecom 
\proc{DINLRD} (V,T: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial list read. V is a
variable list. T is a table of non-commutative relations.
A list of distributive non-commutative polynomials
in r variables, where r=length(V), r ge 0, is read from
the input stream. Any blanks preceding A are skipped.  \ecom 
\proc{DINPRD} (V,T: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial read. V is a variable list.
T is a table on non-commutative relations.
A distributive rational polynomial A in r variables, where
r=length(V), r ge 0, is read from the input stream. Any
blanks preceding A are skipped.  \ecom 
\proc{EVZERO} (RL: LIST): LIST; \eproc
\bcom Exponent vector zero. U is an exponent vector of length r,
r ge 0 with all components zero.  \ecom 
\section{ MAS Non-commutative Center  } 
\proc{DINCCO} (T, A, B: LIST): LIST; \eproc
\bcom Distributive rational non-commutative polynomial commutator.
A and B are distributive rational non-commutative polynomials.
The commutator of A and B is returned. T is the relation table.  \ecom 
\proc{DINCCP} (T, E: LIST): LIST; \eproc
\bcom Distributive rational non-commutative polynomial center polynomial.
E is a list of exponent vectors. T is the relation table. 
A polynomial in the center of the ideal 
is returned.  \ecom 
\proc{DINCCPpre} (T, E: LIST): LIST; \eproc
\bcom Distributive rational non-commutative polynomial center polynomial preparation.
E is a list of exponent vectors. T is the relation table. 
A polynomial in the center of the polynomial ring is returned.  \ecom 
\proc{DILFEL} (a, E: LIST): LIST; \eproc
\bcom Distributive polynomial list from exponent vector list.
E is a list of exponent vectors. A list distributive polynomials with 
exponent vectors from E and coefficients equal to a is returned.  \ecom 
\proc{DINPTslT} (T: LIST): BOOLEAN; \eproc
\bcom Distributive polynomial non-commutative product table strict lex test.
T is a table of distributive polynomials specifying the non-commutative
relations. It is tested if T is strict lexicographical, i.e. if 
Xj*Xi = cij Xi Xj + pij is a strict lexicographical commutator relation,
then cij = 1 and pij <(inv lex) Xi Xj.  \ecom 
\proc{DINLMPG} (T,i,F: LIST): LIST; \eproc
\bcom Distributive non-commutative left rational minimal polynomial for a G basis.
F is a non-commutative left groebner basis. 
PP is the left minimal polynomial for the i-th variable for F.  \ecom 
\proc{DINLMPL} (T,F: LIST): LIST; \eproc
\bcom Distributive non-commutative left rational minimal polynomial list for a G basis.
F is a non-commutative left groebner basis. 
P is the list of left minimal polynomial for each variable for F.  \ecom 
\proc{EVGCD} (U,V: LIST): LIST; \eproc
\bcom Exponent vector greatest common divisor. U=(UL1, ...,ULRL),
V=(VL1, ...,VLRL) are exponent vectors of length r.
W=(WL1, ...,WLRL) is the greatest common divisor of U and V.  \ecom 
\proc{EVLGTD} (r,d,L: LIST): LIST; \eproc
\bcom Exponent vector list generate for total degree.
r is the number of variables. L is a list of already generated 
exponent vectors. A list of exponent vectors up to total degree 
d (>= 0) is returned.  \ecom 
\proc{EVLGIL} (D: LIST): LIST; \eproc
\bcom Exponent vector list generate for inverse lexicographical sequence.
D is a list of maximal degrees in the respective variable. 
A list of exponent vectors up to the maximal degrees is returned.  \ecom 
\proc{EVLINV} (L,i,k: LIST): LIST; \eproc
\bcom Exponent vector list introduction of new variables.
L is a list of exponent vectors. In each element of L k new variables
are introduced after position i. The new list is returned.  \ecom 
\proc{EVTSZ} (i,U: LIST): BOOLEAN; \eproc
\bcom Exponent vector test if starting with i zero exponents.  \ecom 
\proc{EVINV} (U,i,k: LIST): LIST; \eproc
\bcom Exponent vector introduction of new variables. At position
i in U k new variables are introduced.  \ecom 
\section{ MAS Non-commutative Groebner Bases  } 
\proc{DINLNF} (T,P,S: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial left normal form.
P is a list of non zero polynomials in distributive rational
representation in r variables. S is a distributive rational
polynomial. R is a polynomial such that S is left reducible to R
modulo P and R is in normalform with respect to P.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DINLIS} (T,P: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial list 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.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DINLSP} (T,A,B: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomial left S-polynomial.
A and B are rational polynomials in distributive representation.
C is the left S-polynomial of A and B.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DINLGB} (T,P,TF: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomials left Groebner base.
P is a list of rational polynomials in distributive representation
in r variables. PP is the left Groebner base of P. t is the
trace flag.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DINLGM} (T,P: LIST): LIST; \eproc
\bcom Distributive non-commutative minimal ordered left Groebner base.
P is a list of non zero rational polynomials in distributive
representation in r variables, P is a left Groebner base.
PP is the minimal normed and ordered left Groebner base.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DIN1GB} (T,P,TF: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomials Groebner base.
P is a list of rational polynomials in distributive representation
in r variables. PP is the Groebner base of P. t is the
trace flag.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
\proc{DINCGB} (T,P,TF: LIST): LIST; \eproc
\bcom Distributive non-commutative polynomials Groebner base.
P is a list of rational polynomials in distributive representation
in r variables. PP is the Groebner base of P. t is the
trace flag.
T is a table of distributive polynomials specifying the
non-commutative relations.  \ecom 
