Ignore:
Timestamp:
Feb 21, 2013, 7:13:50 PM (10 years ago)
Author:
Claus Fieker <fieker@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
5693d74c7e74fb28bc22148699aebb6524ded48c
Parents:
892dd80edda39f846824ca997ef834ad6d19f748
git-author:
Claus Fieker <fieker@erbsenstein.(none)>2013-02-21 19:13:50+01:00
git-committer:
Claus Fieker <fieker@erbsenstein.(none)>2013-02-22 16:40:29+01:00
Message:
an attempt to introduce better normalization for polynomials over number fields. Seems to work well in selected examples...
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/ext_fields/algext.cc

    r892dd8 rdc42daf  
    220220}
    221221
     222
    222223/* assumes that p and q are univariate polynomials in r,
    223224   mentioning the same variable;
     
    505506  poly aTimesB = p_Mult_q(p_Copy((poly)a, naRing),
    506507                          p_Copy((poly)b, naRing), naRing);
     508  definiteReduce(aTimesB, naMinpoly, cf);
    507509  p_Normalize(aTimesB,naRing);
    508   definiteReduce(aTimesB, naMinpoly, cf);
    509510  return (number)aTimesB;
    510511}
     
    520521    poly aDivB = p_Mult_q(p_Copy((poly)a, naRing), bInverse, naRing);
    521522    definiteReduce(aDivB, naMinpoly, cf);
     523    p_Normalize(aDivB,naRing);
    522524    return (number)aDivB;
    523525  }
     
    682684    pIter(bb);
    683685  }
     686  return h;
    684687}
    685688number naLcmContent(number a, number b, const coeffs cf)
    686689{
    687690  if (nCoeff_is_Zp(naRing->cf)) return naCopy(a,cf);
    688   else return ndGcd(a,b,cf);
    689   #if 0
     691#if 0
     692  else {
     693    number g = ndGcd(a, b, cf);
     694    return g;
     695  }
     696#else
    690697  {
    691698    a=(number)p_Copy((poly)a,naRing);
    692699    number t=napLcm(b,cf);
    693     if(!naIsOne(t,cf))
     700    if(!n_IsOne(t,naRing->cf))
    694701    {
    695702      number bt, rr;
     
    710717    return (number) a;
    711718  }
    712   #endif
     719#endif
    713720}
    714721
     
    11951202
    11961203  }
     1204
    11971205
    11981206  // part3: all coeffs = all coeffs / cand
Note: See TracChangeset for help on using the changeset viewer.