12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- module groebner;
-
- % Author: Herbert Melenk
- % in cooperation with Winfried Neun, H. Michael Moeller.
- % module structure:
- % GROEBNER package + GROEBNR2 package
- % polynomial arithmetic:
- % VDP2DIP package included in DIPOLY package
- fluid '(asymplis!* basecount!* bcount!* bczerodivl!* b4count!* current!-modulus
- currentvdpmodule!* denominators!* depl!* dipsortmode!* dipvars!* dmode!*
- factorlevel!* factortime!* factorlvevel!* fcount!* fourthvalue!* glexdomain!*
- global!-dipvars!* gmodule gmodule!* groebabort!* groebactualg!*
- groebactualg99!* groebdomain!* groebfabort!* groebmodular!* groebrestriction!*
- groebroots!* groecontcount!* groefeedback!* groesfactors!* groesoldb!*
- groesoldmode!* groesolvelevel!* groetags!* groetime!* fourthvalue!*
- hcount!* hzerocount!* intvdpvars!* mcount!*
- pcount!* pairsdone!* powlis!* probcount!* secondvalue!* thirdvalue!*
- variables!* vars!* vbccurrentmode!* vdplastvar!* vdpone!* vdpsortmode!*
- vdpvars!* vbcmodule!* vdpsortmode!* vdpsortextension!* vdpvars!*
- !*arbvars !*complex !*compxroots !*convert !*divisor !*exp !*ezgcd
- !*factor !*fullreduction !*gcd !*gltbasis !*greduce !*gsugar !*grmod!*
- !*groebcomplex !*groebdivide !*groebfac !*groebfullreduction !*groebheufact
- !*groebidqbasis !*groebnumval !*groebopt !*groebprot !*groebprereduce
- !*groebreduce !*groebsubs !*groebprot
- !*groebrm !*groebstat !*groebweak !*groelterms !*groesolgarbage !*groesolrecurs
- !*groebrm !*groebstat !*gsugar !*gtraverso!-sloppy !*msg !*precise !*trgroeb
- !*trgroebr !*trgroebr1 !*trgroebs !*trgroebsi !*trgroeb1 !*varopt !*vdpinteger
- !*vdpmodular
- );
- global '(assumptions gltb glterms groebmonfac groebprotfile groebrestriction
- groebresmax gvarslast largest!-small!-modulus requirements !*match !*trgroesolv);
- currentvdpmodule!*:='vdp2dip;
- create!-package('(groebner grinterf grinter2 buchbg groebcri groesolv groebopt
- groebsea groebsor groebspa groebfac groebidq kredelw traverso hille),
- '(contrib groebner));
- put('groebner,'version,3.1);
- % Other packages needed.
- load!-package ' dipoly;
- if(null v or v < 4.1)where v=get('dipoly,'version)
- then rederr {"wrong dipoly module",
- "(get and compile dipoly, before you compile groebner)"};
- smacro procedure tt(s1,s2);
- % Lcm of leading terms of s1 and s2 .
- vevlcm(vdpevlmon s1,vdpevlmon s2);
- smacro procedure vdpnumber f;vdpgetprop(f,'number);
- imports a2vdp,a2vbc,dependsl,domainp,eqexpr,f2vdp,fctrf,korder,lc,lpow,
- multroot0,
- makearbcomplex,mvar,numr,precision,prepcadr,prepf,prepsq,
- reorder,rerror,reval,
- setkorder, simp,solveeval,torder,
- vdp2a,vdp2f,vdpfmon,vdpappendmon,vdpappendvdp,vdplbc,vdpred,vdplastmon,
- vdpzero!?,vdpredzero!?,vdpone!?,vevzero!?, vbcplus!?,vbcone!?,vbcnumberp!?,vevdivides!?,
- vdpequal,vdpmember,vdpsum,vdpdif,vdpprod,vdpdivmon,vdpcancelvev,
- vdplcomb1,vdpcontent, vbcsum,vbcdif,vbcneg,vbcprod,vbcquot,vbcinv,vbcgcd,vbcabs,vbcone!?,
- vdpputprop,vdpgetprop,vdplsort,vdplsortin,vdpprint,
- vdpprin3t,vdpcondense,vdplcm,vdprectoint,vdpsimpcont,vdpvbcprod,vdpcancelmvev,vdpprin2,
- vdplength,vdpilcomb1,vdpinit,vdpinit2,vdpcleanup,
- vevcompless!?,vevdif,vevequal,vevsum,vevnth,vevtdeg,vevweightedcomp2,vevzero,
- writepri,
- !*eqn2a;
- exports groebnereval,groesolveeval,groepostsolveeval,idquotienteval,
- gdimensioneval,glexconvert,greduce,preduce,preduceeval,groebnert,dd_groebner,
- hilbertpolynomial,gsort,gsplit,gspoly,gzerodim!?;
- endmodule;;end;
|