Changeset eb481b in git for factory


Ignore:
Timestamp:
Feb 16, 2012, 3:55:49 PM (12 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
583cb9fa220ca5d883a84c81ca72035b15d62ec1
Parents:
de222ec7eb2bfb6e75b27248dbeeebb1d1228587
git-author:
Martin Lee <martinlee84@web.de>2012-02-16 15:55:49+01:00
git-committer:
Martin Lee <martinlee84@web.de>2012-04-04 14:42:25+02:00
Message:
chg: more coeff bounds
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/facFqBivar.cc

    rde222e reb481b  
    499499          T.insert (LCBuf);
    500500          g= prodMod (T, M);
     501          if (b.getp() != 0)
     502            g= b(g);
    501503          T.removeFirst();
    502504          result.append (g/content (g, x));
     
    522524        test *= LCBuf;
    523525        test = mod (test, M);
     526        if (b.getp() != 0)
     527          test= b(test);
    524528        if (fdivides (test, buf0))
    525529        {
     
    527531          g= prodMod (S, M);
    528532          S.removeFirst();
     533          if (b.getp() != 0)
     534            g= b(g);
    529535          g /= content (g, x);
    530536          if (fdivides (g, buf, quot))
     
    892898  CFList diophant;
    893899  CFList bufUniFactors= uniFactors;
     900  CanonicalForm bufA= A;
     901  CanonicalForm lcA0= 0;
     902  if (getCharacteristic() == 0 && b.getp() != 0)
     903  {
     904    lcA0= lc (A (0, 2));
     905    A *= b.inverse (lcA0);
     906    A= b (A);
     907    for (CFListIterator i= bufUniFactors; i.hasItem(); i++)
     908      i.getItem()= b (i.getItem()*b.inverse (lc (i.getItem())));
     909  }
    894910  bufUniFactors.insert (LC (A, x));
    895911  CFMatrix M= CFMatrix (liftBound, bufUniFactors.length() - 1);
     
    902918  for (int i= 0; i < uniFactors.length(); i++)
    903919    factorsFoundIndex [i]= 0;
    904   CanonicalForm bufA= A;
    905920
    906921  if (smallFactorDeg >= liftBound || degree (A,y) <= 4)
    907     henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M);
     922    henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M, true, b);
    908923  else if (sizeOfLiftPre > 1 && sizeOfLiftPre < 30)
    909924  {
    910     henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M);
     925    henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b);
    911926    if (!extension)
    912927      earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    913928                            factorsFoundIndex, degs, earlySuccess,
    914                             smallFactorDeg);
     929                            smallFactorDeg, b);
    915930    else
    916931      extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    924939        bufUniFactors.insert (LC (A, x));
    925940        henselLiftResume12 (A, bufUniFactors, smallFactorDeg,
    926                             liftPre[sizeOfLiftPre-1] + 1, Pi, diophant, M);
     941                            liftPre[sizeOfLiftPre-1] + 1, Pi, diophant, M, b);
    927942        if (!extension)
    928943          earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    929944                                factorsFoundIndex, degs, earlySuccess,
    930                                 liftPre[sizeOfLiftPre-1] + 1);
     945                                liftPre[sizeOfLiftPre-1] + 1, b);
    931946        else
    932947          extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    945960        bufUniFactors.insert (LC (A, x));
    946961        henselLiftResume12 (A, bufUniFactors, liftPre[i] + 1,
    947                             liftPre[i-1] + 1, Pi, diophant, M);
     962                            liftPre[i-1] + 1, Pi, diophant, M, b);
    948963        if (!extension)
    949964          earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    950965                                factorsFoundIndex, degs, earlySuccess,
    951                                 liftPre[i-1] + 1);
     966                                liftPre[i-1] + 1, b);
    952967        else
    953968          extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    968983  else
    969984  {
    970     henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M);
     985    henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b);
    971986    if (!extension)
    972987      earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    973988                            factorsFoundIndex, degs, earlySuccess,
    974                             smallFactorDeg);
     989                            smallFactorDeg, b);
    975990    else
    976991      extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    9851000      bufUniFactors.insert (LC (A, x));
    9861001      henselLiftResume12 (A, bufUniFactors, smallFactorDeg,
    987                           dummy, Pi, diophant, M);
     1002                          dummy, Pi, diophant, M, b);
    9881003      if (!extension)
    9891004        earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    990                               factorsFoundIndex, degs, earlySuccess, dummy);
     1005                              factorsFoundIndex, degs, earlySuccess, dummy, b);
    9911006      else
    9921007        extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    10011016        dummy= tmin (degree (A,y)+1, (degree (A,y)/4)*(i+1)+4);
    10021017        henselLiftResume12 (A, bufUniFactors, (degree (A,y)/4)*i + 4,
    1003                             dummy, Pi, diophant, M);
     1018                            dummy, Pi, diophant, M, b);
    10041019        if (!extension)
    10051020          earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
    1006                                 factorsFoundIndex, degs, earlySuccess, dummy);
     1021                                factorsFoundIndex, degs, earlySuccess, dummy,b);
    10071022        else
    10081023          extEarlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
Note: See TracChangeset for help on using the changeset viewer.