Artifact bfdcb6020e0e79ff4a324900ed69bc9a78def7ee083e52a6373e716141d3f16e:
- Executable file
r38/packages/groebner/groebner.red
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 3482) [annotate] [blame] [check-ins using] [more...]
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;