Changeset 69fdf90 in git for factory


Ignore:
Timestamp:
Mar 5, 2012, 10:31:58 PM (12 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
51aa1628bc6d045fbc3a9adf018acd4371a09596
Parents:
47dc5eae8e5fa15711c4af64c3ce91a844425401
git-author:
Martin Lee <martinlee84@web.de>2012-03-05 22:31:58+01:00
git-committer:
Martin Lee <martinlee84@web.de>2012-04-04 14:42:26+02:00
Message:
chg: do not require coeff bound to be const
Location:
factory
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • factory/facFqBivar.cc

    r47dc5ea r69fdf90  
    882882                    earlyFactors, DegreePattern& degs, int& liftBound,
    883883                    const CFList& uniFactors, const ExtensionInfo& info,
    884                     const CanonicalForm& eval, const modpk& b)
     884                    const CanonicalForm& eval, modpk& b)
    885885{
    886886  Variable alpha= info.getAlpha();
     
    920920
    921921  if (smallFactorDeg >= liftBound || degree (A,y) <= 4)
    922     henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M, true, b);
     922    henselLift12 (A, bufUniFactors, liftBound, Pi, diophant, M, b, true);
    923923  else if (sizeOfLiftPre > 1 && sizeOfLiftPre < 30)
    924924  {
    925     henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b);
     925    henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, b, true);
    926926    if (!extension)
    927927      earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    983983  else
    984984  {
    985     henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, true, b);
     985    henselLift12 (A, bufUniFactors, smallFactorDeg, Pi, diophant, M, b, true);
    986986    if (!extension)
    987987      earlyFactorDetection (earlyFactors, bufA, bufUniFactors, newLiftBound,
     
    10481048
    10491049  return bufUniFactors;
     1050}
     1051
     1052CFList
     1053henselLiftAndEarly (CanonicalForm& A, bool& earlySuccess, CFList&
     1054                    earlyFactors, DegreePattern& degs, int& liftBound,
     1055                    const CFList& uniFactors, const ExtensionInfo& info,
     1056                    const CanonicalForm& eval)
     1057{
     1058  modpk dummy= modpk();
     1059  return henselLiftAndEarly (A, earlySuccess, earlyFactors, degs, liftBound,
     1060                             uniFactors, info, eval, dummy);
    10501061}
    10511062
  • factory/facFqBivar.h

    r47dc5ea r69fdf90  
    744744        const ExtensionInfo& info, ///< [in] information about extension
    745745        const CanonicalForm& eval, ///< [in] evaluation point
    746         const modpk& b= modpk()    ///< [in] coeff bound
     746        modpk& b                   ///< [in] coeff bound
     747                  );
     748
     749/// hensel Lifting and early factor detection
     750///
     751/// @return @a henselLiftAndEarly returns monic (wrt Variable (1)) lifted
     752///         factors without factors which have been detected at an early stage
     753///         of Hensel lifting
     754/// @sa earlyFactorDetection(), extEarlyFactorDetection()
     755
     756CFList
     757henselLiftAndEarly (
     758        CanonicalForm& A,          ///< [in,out] poly to be factored,
     759                                   ///< returns poly divided by detected factors
     760                                   ///< in case of success
     761        bool& earlySuccess,        ///< [in,out] indicating success
     762        CFList& earlyFactors,      ///< [in,out] list of factors detected
     763                                   ///< at early stage of Hensel lifting
     764        DegreePattern& degs,       ///< [in,out] degree pattern
     765        int& liftBound,            ///< [in,out] (adapted) lift bound
     766        const CFList& uniFactors,  ///< [in] univariate factors
     767        const ExtensionInfo& info, ///< [in] information about extension
     768        const CanonicalForm& eval  ///< [in] evaluation point
    747769                  );
    748770
  • factory/facHensel.cc

    r47dc5ea r69fdf90  
    449449
    450450CFList
    451 diophantine (const CanonicalForm& F, const CFList& factors, const modpk& b)
     451diophantine (const CanonicalForm& F, const CanonicalForm& G,
     452             const CFList& factors, modpk& b)
    452453{
    453454  if (getCharacteristic() == 0)
     
    497498{
    498499  modpk b= modpk();
    499   return diophantine (F, factors, b);
     500  return diophantine (F, 1, factors, b);
    500501}
    501502
     
    724725void
    725726henselLift12 (const CanonicalForm& F, CFList& factors, int l, CFArray& Pi,
    726               CFList& diophant, CFMatrix& M, bool sort, const modpk& b)
     727              CFList& diophant, CFMatrix& M, modpk& b, bool sort)
    727728{
    728729  if (sort)
     
    730731  Pi= CFArray (factors.length() - 1);
    731732  CFListIterator j= factors;
    732   diophant= diophantine (F[0], factors, b);
     733  diophant= diophantine (F[0], F, factors, b);
    733734  DEBOUTLN (cerr, "diophant= " << diophant);
    734735  j++;
     
    759760    k.getItem()= bufFactors[i];
    760761  factors.removeFirst();
    761   return;
     762}
     763
     764void
     765henselLift12 (const CanonicalForm& F, CFList& factors, int l, CFArray& Pi,
     766              CFList& diophant, CFMatrix& M, bool sort)
     767{
     768  modpk dummy= modpk();
     769  henselLift12 (F, factors, l, Pi, diophant, M, dummy, sort);
    762770}
    763771
  • factory/facHensel.h

    r47dc5ea r69fdf90  
    4848              CFList& diophant,       ///< [in,out] result of diophantine()
    4949              CFMatrix& M,            ///< [in,out] stores intermediate results
    50               bool sort= true,        ///< [in] sort factors by degree in
     50              modpk& b,               ///< [in] coeff bound
     51              bool sort= true         ///< [in] sort factors by degree in
    5152                                      ///< Variable(1)
    52               const modpk& b= modpk ()///< [in] coeff bound
     53             );
     54
     55/// Hensel lift from univariate to bivariate.
     56///
     57/// @sa henselLiftResume12(), henselLift23(), henselLiftResume(), henselLift()
     58void
     59henselLift12 (const CanonicalForm& F, ///< [in] compressed, bivariate poly
     60              CFList& factors,        ///< [in, out] monic univariate factors of
     61                                      ///< F, including leading coefficient as
     62                                      ///< first element. Returns monic lifted
     63                                      ///< factors without the leading
     64                                      ///< coefficient
     65              int l,                  ///< [in] lifting precision
     66              CFArray& Pi,            ///< [in,out] stores intermediate results
     67              CFList& diophant,       ///< [in,out] result of diophantine()
     68              CFMatrix& M,            ///< [in,out] stores intermediate results
     69              bool sort= true        ///< [in] sort factors by degree in
     70                                      ///< Variable(1)
    5371             );
    5472
Note: See TracChangeset for help on using the changeset viewer.