Changeset 423198 in git


Ignore:
Timestamp:
Jul 17, 2015, 5:26:16 PM (8 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
b33f5c0f9bef398247a5285d3211cc23ae68f199
Parents:
5f3ec195f4730da6965bf73fa349680438b5db77
Message:
heuristicGcdCancellation: remove also gcd of monomials
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/GBEngine/kspoly.cc

    r5f3ec1 r423198  
    137137
    138138  // and finally,
    139   PR->Tail_Minus_mm_Mult_qq(lm, t2, PW->GetpLength() - 1, spNoether);
     139  PR->Tail_Minus_mm_Mult_qq(lm, t2, pLength(t2) /*PW->GetpLength() - 1*/, spNoether);
    140140  assume(PW->GetpLength() == pLength(PW->p != NULL ? PW->p : PW->t_p));
    141141  PR->LmDeleteAndIter();
  • libpolys/polys/ext_fields/transext.cc

    r5f3ec1 r423198  
    10531053  }
    10541054  COM(result) = COM(fa) + COM(fb) + MULT_COMPLEXITY;
     1055//  definiteGcdCancellation((number)result, cf,FALSE);
    10551056  heuristicGcdCancellation((number)result, cf);
    10561057//  ntTest((number)result);
     
    12511252
    12521253/* modifies a */
     1254/* this is an intermediate simplification routine - not a comple "normalize" */
    12531255void heuristicGcdCancellation(number a, const coeffs cf)
    12541256{
    1255 //  ntTest(a); // !!!!????
    12561257  if (IS0(a)) return;
    12571258
     
    12971298        }
    12981299      }
    1299     }
    1300   }
    1301 
    1302   ntTest(a);
     1300      if ((DEN(f)!=NULL)
     1301      && (pNext(DEN(f))==NULL))
     1302      {
     1303        poly den_f=DEN(f);
     1304        poly h=NUM(f);
     1305        loop
     1306        {
     1307          if (h==NULL)
     1308          {
     1309            h=NUM(f);
     1310            do
     1311            {
     1312              p_ExpVectorDiff(h,h,den_f,ntRing);
     1313              pIter(h);
     1314            } while(h!=NULL);
     1315            p_ExpVectorDiff(den_f,den_f,den_f,ntRing);
     1316            break;
     1317          }
     1318          int i=0;
     1319          do
     1320          {
     1321            i++;
     1322            if (p_GetExp(den_f,i,ntRing) > p_GetExp(h,i,ntRing)) return;
     1323          } while(i<ntRing->N);
     1324          pIter(h);
     1325        }
     1326      }
     1327    }
     1328  }
    13031329}
    13041330
Note: See TracChangeset for help on using the changeset viewer.