(* MAS Non-commutative Definition Module. *) DEFINITION MODULE MASNC; FROM MASSTOR IMPORT LIST; PROCEDURE DINPPR(T,A,B: LIST): LIST; (*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. *) PROCEDURE DINPTL(T,EL,FL: LIST; VAR C,EP,FP: LIST); (*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=(). *) PROCEDURE DINPTU(T,EL,FL,C: LIST); (*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. *) PROCEDURE DINPEX(T,A,NL: LIST): LIST; (*Distributive non commuting polynomial exponentiation. A is a distributive rational polynomial, n is a non-negative beta- integer. T is a table of non commuting relations. B=A**n. 0**0 is by definition a polynomial in zero variables. *) PROCEDURE DINLRD(V,T: LIST): LIST; (*Distributive non commuting polynomial list read. V is a variable list. T is a table of non commuting relations. A list of distributive non commuting polynomials in r variables, where r=length(V), r ge 0, is read from the input stream. Any blanks preceding A are skipped. *) PROCEDURE DINPRD(V,T: LIST): LIST; (*Distributive non commuting polynomial read. V is a variable list. T is a table on non commuting 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. *) PROCEDURE EVZERO(RL: LIST): LIST; (*Exponent vector zero. U is an exponent vector of length r, r ge 0 with all components zero. *) END MASNC.