123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- module groebmes;
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % trace messages for the algorithms
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- fluid '(vdpvars!* !*trgroeb !*trgroebs !*trgroeb1 !*trgroebr hcount!*
- hzerocount!* factorlevel!* basecount!* groetime!* pcount!*);
- symbolic procedure groebpairprint (p);
- <<groebmessff(" pair(",cadr p,nil);
- groebmessff(",",caddr p,nil);
- prin2 "), ";
- prin2 " lcm = ";print car p>>;
- symbolic procedure groetimeprint;
- << prin2 ">> accum. cpu time:";
- prin2 (time() - groetime!*);
- prin2t " ms">>;
- symbolic procedure groebmessff (m1,f,m2);
- << prin2 m1; prin2 vdpnumber f;
- if !*gsugar then <<prin2 "/";prin2 gsugar f>>;
- if m2 then prin2t m2 >>;
- symbolic procedure groebmess0 (p);
- if !*trgroeb then vdpprint p;
- symbolic procedure groebmess1 (g,d);
- if !*trgroeb then <<
- g := g; d := d;
- prin2 " variables: "; print vdpvars!*;
- printbl();
- prin2t " Start of ITERATION "; terpri (); >>;
- symbolic procedure groebmess2 f;
- if !*trgroeb then << terpri();
- groebmessff ("polynomial ",f," eliminated");
- groetimeprint()>>;
- symbolic procedure groebmess2a(f,cf,fn);
- if !*trgroeb then << terpri();
- groebmessff ("polynomial ",f,nil);
- groebmessff (" elim. with cofactor ",cf," to");
- vdpprint fn; terpri(); groetimeprint()>>;
- symbolic procedure groebmess3(p,s);
- if !*trgroebs then <<
- prin2 "S-polynomial from ";
- groebpairprint p;
- vdpprint s; terpri();
- groetimeprint(); terprit 3 >>;
- symbolic procedure groebmess4 (p,d);
- << hcount!* := hcount!*+1;
- hzerocount!* := hzerocount!*+1;
- if !*trgroeb then << terpri(); printbl();
- groebmessff(" reduction (",cadr p,nil);
- groebmessff(",", caddr p,nil);
- prin2 ") leads to 0; ";
- << prin2 n;
- prin2 if n=1 then " pair" else " pairs">>
- where n=length d;
- prin2t " left";
- printbl(); groetimeprint()>>; >>;
- symbolic procedure groebmess41 (p);
- << hcount!* := hcount!*+1;
- hzerocount!* := hzerocount!*+1;
- if !*trgroeb then << terpri(); printbl();
- groebmessff(" polynomial(", p,nil);
- prin2 ") reduced to 0;";
- terpri(); printbl(); groetimeprint()>> >>;
-
- symbolic procedure groebmess5(p,h);
- if car p then
- << hcount!* := hcount!* + 1;
- if !*trgroeb then << terpri(); prin2 "H-polynomial ";
- prin2 pcount!*;
- prin2 " ev:"; prin2 vdpevlmon h;
- groebmessff(" from pair (",cadr p,nil);
- groebmessff(",", caddr p,")");
- vdpprint h; terpri(); groetimeprint() >> >>
- else
- if !*trgroeb then << prin2t "from actual problem input:";
- vdpprint h; groetimeprint() >>;
- symbolic procedure groebmess50(g);
- if !*trgroeb1 then << prin2 "list of active polynomials:";
- for each d1 in g do
- <<prin2 vdpgetprop(d1,'number);
- prin2 " ">>; terprit 2 >>;
- symbolic procedure groebmess51(d);
- if !*trgroeb1 then <<
- prin2t "Candidates for pairs in this step:";
- for each d1 in d do groebpairprint (d1);
- terprit 2 >>;
- symbolic procedure groebmess52(d);
- if !*trgroeb1 then <<
- prin2t "Actual new pairs from this step:";
- for each d1 in d do groebpairprint (d1);
- terprit 2 >>;
- symbolic procedure groebmess7 h;
- if !*trgroebs then
- <<prin2t "Testing factorization for "; vdpprint h>>;
- symbolic procedure groebmess8 (g,d);
- if !*trgroeb1 then <<
- g := g; prin2t " actual pairs: ";
- if null d then prin2t "null"
- else for each d1 in d do groebpairprint d1;
- groetimeprint() >>
- else if !*trgroeb then <<
- prin2 n; prin2t if n=1 then " pair" else " pairs" >>
- where n=length d;
- symbolic procedure groebmess13(g,problems);
- if !*trgroeb or !*trgroebr then <<
- if g then << basecount!* := basecount!* +1;
- printbl(); printbl();
- prin2 "end of iteration ";
- for each f in reverse factorlevel!* do
- <<prin2 f; prin2 ".">>;
- prin2 "; basis "; prin2 basecount!*; prin2t ":";
- prin2 "{"; for each g1 in g do vdpprin3t g1; prin2t "}";
- printbl(); printbl(); groetimeprint() >>
- else
- << printbl(); prin2 "end of iteration branch ";
- for each f in reverse factorlevel!* do
- <<prin2 f; prin2 ".">>;
- prin2t " "; printbl(); groetimeprint()>>;
- if problems and !*trgroeb then
- << groetimeprint(); terpri(); printbl();
- prin2 " number of partial problems still to be solved:";
- prin2t length problems; terpri();
- prin2 " preparing next problem ";
- if car car problems = 'file then prin2 cdr car problems
- else if cadddr car problems then
- vdpprint car cadddr car problems; terpri(); >> >>;
- symbolic procedure groebmess14 (h,hf);
- if !*trgroeb then <<
- prin2 "******************* factorization of polynomial ";
- (if x then prin2t x else terpri() )
- where x = vdpnumber(h);
- prin2t " factors:";
- for each g in hf do vdpprint car g; groetimeprint()>>;
- symbolic procedure groebmess15 f;
- if !*trgroeb then
- <<prin2t "***** monomial factor reduced:";
- vdpprint vdpfmon(a2vbc 1,f)>>;
- symbolic procedure groebmess19(p,restr,u);
- if !*trgroeb then <<
- u := u; restr := restr; printbl();
- prin2 "calculation branch ";
- for each f in reverse factorlevel!* do
- <<prin2 f; prin2 ".">>;
- prin2t " cancelled because"; vdpprint p;
- prin2t "is member of an actual abort condition";
- printbl(); printbl()>>;
- symbolic procedure groebmess19a(p,u);
- if !*trgroeb then << u := u; printbl();
- prin2 "during branch preparation ";
- for each f in reverse u do <<prin2 f; prin2 ".">>;
- prin2t " cancelled because"; vdpprint p;
- prin2t "was found in the ideal branch"; printbl()>>;
- symbolic procedure groebmess20 (p);
- if !*trgroeb then <<
- terpri(); prin2 "secondary reduction starting with";
- vdpprint p>>;
- symbolic procedure groebmess21(p1,p2);
- if !*trgroeb then <<
- prin2 "polynomial "; prin2 vdpnumber p1;
- prin2 " replaced during secondary reduction by ";
- vdpprint p2>>;
- symbolic procedure groebmess22(factl,abort1,abort2);
- if null factl then nil
- else
- if !*trgroeb then
- begin integer n;
- prin2t "BRANCHING after factorization point";
- n := 0; for each x in reverse factl do
- << n := n+1; prin2 "branch ";
- for each f in reverse factorlevel!* do
- <<prin2 f;prin2 ".">>;
- prin2t n; for each y in car x do vdpprint y;
- prin2t "simple IGNORE restrictions for this branch:";
- for each y in abort1 do vdpprint y;
- for each y in cadr x do vdpprint y;
- if abort2 or caddr x then
- <<prin2t
- "set type IGNORE restrictions for this branch:";
- for each y in abort2 do vdpprintset y;
- for each y in caddr x do vdpprintset y >>;
- printbl()>>;
- end;
- symbolic procedure groebmess23 (g0,rest1,rest2);
- if !*trgroeb then
- if null factorlevel!* then
- prin2t "** starting calculation ******************************"
- else << prin2 "** resuming calculation for branch ";
- for each f in reverse factorlevel!* do
- <<prin2 f; prin2 ".">>;
- terpri(); if rest1 or rest2 then
- <<
- prin2t "-------IGNORE restrictions for this branch:";
- g0 := g0; for each x in rest1 do vdpprint x;
- for each x in rest2 do vdpprintset x>> >>;
- symbolic procedure groebmess24(h,problems1,restr);
- % if !*trgroeb then
- <<prin2t "**********polynomial affected by branch restriction:";
- vdpprint h; if restr then prin2t "under current restrictions";
- for each x in restr do vdpprint x;
- if null problems1 then prin2t " CANCELLED"
- else <<prin2t "partitioned into";
- vdpprintset car problems1>> >>;
- symbolic procedure groebmess25 (h,abort2);
- <<prin2t "reduction of set type cancel conditions by";
- vdpprint h; prin2t "remaining:";
- for each x in abort2 do vdpprintset x>>;
- symbolic procedure groebmess26 (f1,f2);
- if !*trgroebs and not vdpequal(f1,f2) then
- <<terpri(); prin2t "during final reduction";
- vdpprint f1; prin2t "reduced to";
- vdpprint f2; terpri()>>;
- symbolic procedure groebmess27 r;
- if !*trgroeb then <<terpri();
- prin2t "factor ignored (considered already):"; vdpprint r>>;
- symbolic procedure groebmess27a (h,r);
- if !*trgroeb then
- <<terpri(); vdpprint h;
- prin2t " reduced to zero by factor"; vdpprint r>>;
- symbolic procedure groebmess28 r;
- if !*trgroeb then
- <<writepri("interim content reduction:", 'first);
- writepri(mkquote prepsq r, 'last)>>;
- symbolic procedure groebmess29 omega;
- if !*trgroeb then
- <<terpri(); prin2 "actual weight vector: [";
- for each x in omega do <<prin2 " "; prin2 x>>; prin2 "]";
- terpri(); terpri()>>;
- symbolic procedure groebmess30 gomegaplus;
- if !*trgroeb and gomegaplus then
- <<terpri(); prin2 "new head term (or full) basis "; terpri();
- for each x in gomegaplus do <<vdpprint x; terpri()>> >>;
- symbolic procedure groebmess31 gg;
- if !*trgroeb then <<prin2 "full basis"; terpri();
- for each x in gg do <<vdpprint x; terpri(); terpri() >> >>;
- symbolic procedure groebmess32 g;
- if !*trgroeb then <<terpri();
- prin2 "***** start of iteation with"; terpri();
- for each x in g do vdpprint x;
- prin2 "****************************";
- terpri()>>;
-
- symbolic procedure groebmess33 g;
- if !*trgroeb then
- <<terpri(); prin2 "***** resulting system *****"; terpri();
- for each x in g do vdpprint x;
- prin2 "****************************"; terpri()>>;
- symbolic procedure groebmess34 mx;
- if !*trgroeb then
- <<terpri(); prin2 "sum of weight vector "; print mx;
- terpri()>>;
- symbolic procedure groebmess35 omega;
- if !*trgroeb then
- <<terpri(); prin2 "next weight vector "; print omega;
- terpri()>>;
- symbolic procedure groebmess36 tt;
- if !*trgroeb then
- <<terpri(); prin2 "new weight: "; print tt>>;
- symbolic procedure groebmess37 s;
- if !*trgroeb then
- <<if not s then prin2 "NOT "; prin2 "taking initials";
- terpri(); terpri()>>;
- symbolic procedure printbl(); printb (linelength nil #- 2);
- symbolic procedure printb n; <<for i:=1:n do prin2 "-"; terpri()>>;
- symbolic procedure vdpprintset l;
- if l then << prin2 "{"; vdpprin2 car l;
- for each x in cdr l do <<prin2 "; "; vdpprin2 x>>;
- prin2t "}";>>;
- symbolic procedure vdpprin2l u;
- <<prin2 "("; vdpprin2 car u;
- for each x in cdr u do <<prin2 ","; vdpprin2 x;>>;
- prin2 ")";>>;
- endmodule;
- end;
|