groebner.red 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. module groebner;
  2. % Author: Herbert Melenk
  3. % in cooperation with Winfried Neun, Michael Moeller.
  4. % module structure:
  5. %
  6. % GROEBNER package + GROEBNR2 package
  7. % polynomial arithmetic:
  8. % VDP2DIP package included in DIPOLY package
  9. % factorization:
  10. % GROEBFAC package is also included here, but could be loaded
  11. % on demand.
  12. % Modifications:
  13. %
  14. % 17-Sep-1994 (HM): The ideal variables are now declared in the TORDER
  15. % statement. The calling conventions can be still used, but are removed
  16. % from the documents.
  17. fluid '(currentvdpmodule!*);
  18. currentvdpmodule!* := 'vdp2dip;
  19. create!-package('(groebner grinterf grinter2 buchbg groebcri
  20. groesolv groebopt groebsea groebsor groebspa groebfac
  21. groebidq kredelw traverso),
  22. '(contrib groebner));
  23. put('groebner,'version,3.0);
  24. % Other packages needed.
  25. load!-package 'dipoly;
  26. if(null v or v<4.0) where v=get('dipoly,'version)
  27. then rederr "wrong dipoly module";
  28. smacro procedure tt(s1,s2);
  29. % lcm of leading terms of s1 and s2
  30. vevlcm(vdpevlmon s1,vdpevlmon s2);
  31. imports a2vdp,f2vdp,a2vbc,vdp2a,vdp2f,
  32. vdpfmon,vdpappendmon,vdpappendvdp,vdplbc,
  33. vdpred,vdplastmon,vevnth,
  34. vdpzero!?,vdpredzero!?,vdpone!?,vevzero!?,
  35. vbcplus!?,vbcone!?,vbcnumberp!?,vevdivides!?,vevcompless!?,
  36. vdpequal,vdpmember,vevequal,
  37. vdpsum,vdpdif,vdpprod,vdpdivmon,cdpcancelvev,vdplcomb1,vdpcontent,
  38. vbcsum,vbcdif,vbcneg,vbcprod,vbcquot,vbcinv,vbcgcd,vbcabs,vbcone!?,
  39. vevsum,vevdif,vevtdeg,vevzero,
  40. vdpputprop,vdpgetprop,vdplsort,vdplsortin,vdpprint,
  41. vdpprin3t,vdpcondense,vdplcm,vdprectoint,vdpsimpcont,vdpvbcprod,
  42. vdpcancelmvev,vdpprin2,
  43. vevweightedcomp2,vdplength,vdpilcomb1,
  44. vdpinit,vdpinit2,vdpcleanup;
  45. exports groebnereval,groesolveeval,groepostsolveeval,idquotienteval,
  46. gdimensioneval,glexconvert,greduce,preduce,groebnert,dd_groebner,
  47. hilbertpolynomial,gsort,gsplit,gspoly,gzerodim!?;
  48. endmodule;
  49. end;