Changeset 033053 in git


Ignore:
Timestamp:
Oct 6, 2015, 10:55:49 AM (9 years ago)
Author:
Adi Popescu <adi_popescum@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
c8523f8410f820a34a502d28335c7f785e0e8112
Parents:
456eb622b2382d15921e6e3db01415bc2871fd1c
Message:
fix: product and chain criterion are activated (thank you Christian)
Location:
kernel/GBEngine
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kstd2.cc

    r456eb62 r033053  
    15581558    }
    15591559    #endif
    1560     getchar();
     1560    //getchar();
    15611561    #endif
    15621562    #ifdef KDEBUG
  • kernel/GBEngine/kutil.cc

    r456eb62 r033053  
    11881188      return;
    11891189  }
    1190   //This is commented out since it is buggy over ZZ
    1191   //(check theory with Gerhard, Anne and Christian)
    1192   #if 0
     1190  #if 1
    11931191  // basic chain criterion
    11941192  pLcm(p,strat->S[i],h.lcm);
     
    12171215      if (compare == 1)
    12181216      {
    1219         strat->c3++;
    1220         /*PrintS("--- chain criterion type 1\n");
    1221           PrintS("strat->B[j]:");
    1222           wrp(strat->B[j].lcm);
    1223           PrintS("  h.lcm:");
    1224           wrp(h.lcm);
    1225           PrintLn();*/
    1226         if ((n_DivBy(h.lcm->coef,strat->B[j].lcm->coef,  currRing->cf) == 0) && ((strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0)))
    1227         {
     1217#if ADIDEBUG
     1218              printf("\nChainCrit1 in enteronepairring\n");
     1219              printf("\nB[j]\n");
     1220              pWrite(strat->B[j].p);
     1221              pWrite(strat->B[j].p1);
     1222              pWrite(strat->B[j].p2);
     1223              printf("\nh - neue Paar\n");
     1224              pWrite(h.p);
     1225              pWrite(p);
     1226              pWrite(strat->S[i]);
     1227              pWrite(h.lcm);
     1228              #endif
     1229        if ((n_DivBy(strat->B[j].lcm->coef, h.lcm->coef, currRing->cf) == 0) && ((strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0)))
     1230        {
     1231          strat->c3++;
    12281232          pLmDelete(h.lcm);
    12291233          return;
     
    12331237      else if (compare == -1)
    12341238      {
    1235           /*
    1236           PrintS("--- chain criterion type 2\n");
    1237           Print("strat->B[%d].lcm:",j);
    1238           wrp(strat->B[j].lcm);
    1239           PrintS("  h.lcm:");
    1240           wrp(h.lcm);
    1241           PrintLn();*/
    1242           if(n_DivBy(strat->B[j].lcm->coef, h.lcm->coef, currRing->cf) == 0)
     1239#if ADIDEBUG
     1240              printf("\nChainCrit2 in enteronepairring\n");
     1241              printf("\nB[j]\n");
     1242              pWrite(strat->B[j].p);
     1243              pWrite(strat->B[j].p1);
     1244              pWrite(strat->B[j].p2);
     1245              printf("\nh - neue Paar\n");
     1246              pWrite(h.p);
     1247              pWrite(p);
     1248              pWrite(strat->S[i]);
     1249              pWrite(h.lcm);
     1250              #endif
     1251          if(n_DivBy( h.lcm->coef, strat->B[j].lcm->coef, currRing->cf) == 0)
    12431252          {
     1253          #if ADIDEBUG
     1254                        printf("\nGelöscht: B[j]\n");
     1255          #endif
    12441256            deleteInL(strat->B,&strat->Bl,j,strat);
    12451257            strat->c3++;
     
    12511263      if (compareCoeff == pDivComp_LESS)
    12521264      {
    1253         /*PrintS("--- chain criterion type 3\n");
    1254           Print("strat->B[%d].lcm:", j);
    1255           wrp(strat->B[j].lcm);
    1256           PrintS("  h.lcm:");
    1257           wrp(h.lcm);
    1258           PrintLn();*/
    1259         strat->c3++;
    1260         if ((n_DivBy(h.lcm->coef,strat->B[j].lcm->coef,  currRing->cf) == 0) && (strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0))
    1261         {
     1265#if ADIDEBUG
     1266              printf("\nChainCrit3 in enteronepairring\n");
     1267              printf("\nB[j]\n");
     1268              pWrite(strat->B[j].p);
     1269              pWrite(strat->B[j].p1);
     1270              pWrite(strat->B[j].p2);
     1271              printf("\nh - neue Paar\n");
     1272              pWrite(h.p);
     1273              pWrite(p);
     1274              pWrite(strat->S[i]);
     1275              #endif
     1276        if ((n_DivBy(strat->B[j].lcm->coef, h.lcm->coef, currRing->cf) == 0) && (strat->fromQ==NULL) || (isFromQ==0) || (strat->fromQ[i]==0))
     1277        {
     1278          #if ADIDEBUG
     1279          printf("\nGelöscht h\n");
     1280          #endif
     1281          strat->c3++;
    12621282          pLmDelete(h.lcm);
    12631283          return;
     
    12691289      // if (compareCoeff == pDivComp_GREATER)
    12701290      {
    1271         /*PrintS("--- chain criterion type 4\n");
    1272           Print("strat->B[%d].lcm:", j);
    1273           wrp(strat->B[j].lcm);
    1274           PrintS("  h.lcm:");
    1275           wrp(h.lcm);
    1276           PrintLn();
    1277           printf("\ndivby = %i\n", n_DivBy(strat->B[j].lcm->coef, h.lcm->coef, currRing->cf));*/
    1278         if(n_DivBy(strat->B[j].lcm->coef, h.lcm->coef, currRing->cf) == 0)
    1279         {
     1291        #if ADIDEBUG
     1292              printf("\nChainCrit3 in enteronepairring\n");
     1293              printf("\nB[j]\n");
     1294              pWrite(strat->B[j].p);
     1295              pWrite(strat->B[j].p1);
     1296              pWrite(strat->B[j].p2);
     1297              printf("\nh - neue Paar\n");
     1298              pWrite(h.p);
     1299              pWrite(p);
     1300              pWrite(strat->S[i]);
     1301              #endif
     1302        if(n_DivBy( h.lcm->coef, strat->B[j].lcm->coef,currRing->cf) == 0)
     1303        {
     1304          #if ADIDEBUG
     1305          printf("\nGelöscht B[j]\n");
     1306          #endif
    12801307          deleteInL(strat->B,&strat->Bl,j,strat);
    12811308          strat->c3++;
     
    31523179              }
    31533180#endif
     3181              #if ADIDEBUG
     3182              printf("\nChainCrit\n");
     3183              pWrite(strat->B[i].p);
     3184              pWrite(strat->B[i].p1);
     3185              pWrite(strat->B[i].p2);
     3186              #endif
    31543187              deleteInL(strat->B,&strat->Bl,i,strat);
    31553188              strat->c3++;
     
    31713204        if ((pNext(strat->L[j].p) == strat->tail) || (rHasGlobalOrdering(currRing)))
    31723205        {
     3206          #if ADIDEBUG
     3207          printf("\nChainCrit\n");
     3208          pWrite(strat->B[i].p);
     3209          pWrite(strat->B[i].p1);
     3210          pWrite(strat->B[i].p2);
     3211          #endif
    31733212          deleteInL(strat->L,&strat->Ll,j,strat);
    31743213          strat->c3++;
     
    32343273          }
    32353274#endif
     3275              #if ADIDEBUG
     3276              printf("\nChainCrit\n");
     3277              pWrite(strat->B[i].p);
     3278              pWrite(strat->B[i].p1);
     3279              pWrite(strat->B[i].p2);
     3280              #endif
    32363281          if (isInPairsetL(i-1,strat->L[j].p1,strat->L[i].p1,&l,strat)
    32373282          && (pNext(strat->L[l].p) == strat->tail)
Note: See TracChangeset for help on using the changeset viewer.