Changeset 675c62c in git


Ignore:
Timestamp:
Mar 21, 2013, 12:13:33 PM (11 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
db6e7a98045a733d7ba595de0942788d4be78d4e
Parents:
70bf04b2c457945aee9cb5bd27b38d416f07691e
git-author:
Martin Lee <martinlee84@web.de>2013-03-21 12:13:33+01:00
git-committer:
Martin Lee <martinlee84@web.de>2013-03-22 15:54:21+01:00
Message:
fix: bug in hensel lifting part2
File:
1 edited

Legend:

Unmodified
Added
Removed
  • factory/facHensel.cc

    r70bf04b r675c62c  
    21452145      M (j + 2, 1)= mulMod (bufFactors[0] [j + 1], bufFactors[1] [j + 1], MOD);
    21462146  }
     2147  else
     2148    M (j + 1, 1)= 0;
     2149
    21472150  CanonicalForm uIZeroJ;
    2148 
    21492151  if (degBuf0 > 0 && degBuf1 > 0)
    21502152    uIZeroJ= mulMod (bufFactors[0] [0], buf[1], MOD) +
    21512153             mulMod (bufFactors[1] [0], buf[0], MOD);
    21522154  else if (degBuf0 > 0)
    2153     uIZeroJ= mulMod (buf[0], bufFactors[1], MOD);
     2155    uIZeroJ= mulMod (buf[0], bufFactors[1], MOD) +
     2156             mulMod (buf[1], bufFactors[0][0], MOD);
    21542157  else if (degBuf1 > 0)
    2155     uIZeroJ= mulMod (bufFactors[0], buf[1], MOD);
     2158    uIZeroJ= mulMod (bufFactors[0], buf[1], MOD) +
     2159             mulMod (buf[0], bufFactors[1][0], MOD);
    21562160  else
    2157     uIZeroJ= 0;
     2161    uIZeroJ= mulMod (bufFactors[0], buf[1], MOD) +
     2162             mulMod (buf[0], bufFactors[1], MOD);
    21582163  Pi [0] += xToJ*uIZeroJ;
    21592164
     
    22372242                                  MOD);
    22382243    }
     2244    else
     2245      M (j + 1, l + 1)= 0;
    22392246
    22402247    if (degPi > 0 && degBuf > 0)
    2241       uIZeroJ= mulMod (Pi[l -1] [0], buf[l + 1], MOD) +
    2242                mulMod (uIZeroJ, bufFactors[l+1] [0], MOD);
     2248      uIZeroJ= mulMod (Pi[l - 1] [0], buf[l + 1], MOD) +
     2249               mulMod (uIZeroJ, bufFactors[l + 1] [0], MOD);
    22432250    else if (degPi > 0)
    2244       uIZeroJ= mulMod (uIZeroJ, bufFactors[l + 1], MOD);
     2251      uIZeroJ= mulMod (uIZeroJ, bufFactors[l + 1], MOD) +
     2252               mulMod (Pi[l - 1][0], buf[l + 1], MOD);
    22452253    else if (degBuf > 0)
    2246       uIZeroJ= mulMod (Pi[l - 1], buf[l + 1], MOD);
    2247     else
    2248       uIZeroJ= 0;
     2254      uIZeroJ= mulMod (Pi[l - 1], buf[l + 1], MOD) +
     2255               mulMod (uIZeroJ, bufFactors[l + 1][0], MOD);
     2256    else
     2257      uIZeroJ= mulMod (Pi[l - 1], buf[l + 1], MOD) +
     2258               mulMod (uIZeroJ, bufFactors[l + 1], MOD);
    22492259
    22502260    Pi [l] += xToJ*uIZeroJ;
Note: See TracChangeset for help on using the changeset viewer.