home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / program / misc / mas / mashelp / diptoo.def < prev    next >
Encoding:
Modula Definition  |  1989-10-21  |  2.5 KB  |  86 lines

  1.  
  2. (* DIP Termorder Optimization Definition Module. *)
  3.  
  4. DEFINITION MODULE DIPTOO;
  5.  
  6.  
  7. FROM MASSTOR IMPORT LIST;
  8.  
  9.  
  10. PROCEDURE DIPDEM(A: LIST): LIST;
  11. (*Distributive polynomial degree matrix. A is a distributive
  12. polynomial. B is the degree matrix of A. *)
  13.  
  14.  
  15. PROCEDURE DIPDEV(A: LIST): LIST;
  16. (*Distributive polynomial degree vector. A is a distributive
  17. polynomial. N is the degree vector of A.*)
  18.  
  19.  
  20. PROCEDURE DIPLDM(A: LIST): LIST;
  21. (*Distributive polynomial list degree matrix. A is a list of
  22. distributive polynomials. B is the sum of all degree matrices
  23. of each element of A. *)
  24.  
  25.  
  26. PROCEDURE DIPTRM(A: LIST): LIST;
  27. (*Distributive polynomial terms. A is a distributive polynomial
  28. in r variables. T is a list of beta-integers each counting
  29. the terms in the respective variable.*)
  30.  
  31.  
  32. PROCEDURE DIPTYP(A: LIST): LIST;
  33. (*Distributive polynomial typ. A is a distributive polynomial
  34. in r variables. t is a rational number, t is the typ of A,
  35. 0 lt t le 1. *)
  36.  
  37.  
  38. PROCEDURE DIPVOP(P,V: LIST; VAR PP,VP: LIST);
  39. (*Distributive polynomial variable ordering optimisation.
  40. P and PP are lists of distributive polynomials.
  41. V and VP are variable lists. The optimal variable ordering
  42. for the polynomials in P is determined. The variables
  43. of the polynomials in P are permuted to produce PP.
  44. VP is the new variable list.*)
  45.  
  46.  
  47. PROCEDURE DMEVAD(A,E: LIST): LIST;
  48. (*Degree matrix exponent vector add. A is a degree matrix.
  49. E is an exponent vector. B=A + E. *)
  50.  
  51.  
  52. PROCEDURE HDIFDI(A: LIST; VAR B,FL: LIST);
  53. (*Homogeneous distributive polynomial from distributive polynomial.
  54. A is a distributive polynomial in r variables. s=r+1.
  55. If A is allready homogeneous then f=0 else f=1.
  56. B(xs,x1, ...,xr)=(xs)**(tdeg(A)) * A(x1/xs, ...,xr/xs). *)
  57.  
  58.  
  59. PROCEDURE LBLXCO(U,V: LIST): LIST;
  60. (*List of beta integers lexicographical compare.
  61. U=(u1, ...,ur), V=(v1, ...vs) are lists of beta integers.
  62. t=0 if U eq V. t=1 if U gt V. t=-1 if U lt V. eq, gt,
  63. lt with respect to the lexicographical ordering of the
  64. beta integers. *)
  65.  
  66.  
  67. PROCEDURE PTERM(RL,A: LIST): LIST;
  68. (*Polynomial terms. A is a recursive polynomial in r
  69. variables. T is a list of beta-integers each counting the
  70. terms in the respective variable.*)
  71.  
  72.  
  73. PROCEDURE PTYP(RL,A: LIST): LIST;
  74. (*Polynomial typ. A is a recursive polynomial in r variables.
  75. t is a rational number, t is the PTYP of A, 0 lt t lt 1. *)
  76.  
  77.  
  78. PROCEDURE PVDEMA(A: LIST): LIST;
  79. (*Permutation vector for degree matrix. A is a degree matrix.
  80. P is a permutation vector. *)
  81.  
  82.  
  83. END DIPTOO.
  84.  
  85.  
  86.