Changeset 849b7c in git


Ignore:
Timestamp:
Aug 21, 2013, 1:33:17 PM (11 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'd25190065115c859833252500a64cfb7b11e3a50')
Children:
033e00f6e4890efd144712c5719cdffdd79e8598
Parents:
44cd9a84967624b3cb752fb6646f1824acd60ae1
git-author:
Martin Lee <martinlee84@web.de>2013-08-21 13:33:17+02:00
git-committer:
Martin Lee <martinlee84@web.de>2013-08-30 13:48:37+02:00
Message:
chg: deleted absBiFactorize
Location:
factory
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • factory/facAbsBiFact.cc

    r44cd9a r849b7c  
    7474  }
    7575  result.insert (CFAFactor (LcF, 1, 1));
    76   return result;
    77 }
    78 
    79 
    80 /// absolute factorization of bivariate poly over Q
    81 ///
    82 /// @return absFactorize returns a list whose entries contain three entities:
    83 ///         an absolute irreducible factor, an irreducible univariate polynomial
    84 ///         that defines the minimal field extension over which the irreducible
    85 ///         factor is defined and the multiplicity of the absolute irreducible
    86 ///         factor
    87 CFAFList absBiFactorize (const CanonicalForm& G ///<[in] bivariate poly over Q
    88                         )
    89 {
    90   //TODO handle homogeneous input
    91   ASSERT (getNumVars (G) <= 2, "expected bivariate input");
    92   ASSERT (getCharacteristic() == 0, "expected poly over Q");
    93 
    94   CFMap N;
    95   CanonicalForm F= compress (G, N);
    96   bool isRat= isOn (SW_RATIONAL);
    97   if (isRat)
    98     F *= bCommonDen (F);
    99 
    100   Off (SW_RATIONAL);
    101   F /= icontent (F);
    102   if (isRat)
    103     On (SW_RATIONAL);
    104 
    105   CanonicalForm contentX= content (F, 1);
    106   CanonicalForm contentY= content (F, 2);
    107   F /= (contentX*contentY);
    108   CFAFList contentXFactors, contentYFactors;
    109   contentXFactors= uniAbsFactorize (contentX);
    110   contentYFactors= uniAbsFactorize (contentY);
    111 
    112   if (contentXFactors.getFirst().factor().inCoeffDomain())
    113     contentXFactors.removeFirst();
    114   if (contentYFactors.getFirst().factor().inCoeffDomain())
    115     contentYFactors.removeFirst();
    116   if (F.inCoeffDomain())
    117   {
    118     CFAFList result;
    119     for (CFAFListIterator i= contentXFactors; i.hasItem(); i++)
    120       result.append (CFAFactor (N (i.getItem().factor()), i.getItem().minpoly(),
    121                                 i.getItem().exp()));
    122     for (CFAFListIterator i= contentYFactors; i.hasItem(); i++)
    123       result.append (CFAFactor (N (i.getItem().factor()),i.getItem().minpoly(),
    124                                 i.getItem().exp()));
    125     normalize (result);
    126     result.insert (CFAFactor (Lc (G), 1, 1));
    127     return result;
    128   }
    129   CFFList rationalFactors= factorize (F);
    130 
    131   CFAFList result, resultBuf;
    132 
    133   CFAFListIterator iter;
    134   CFFListIterator i= rationalFactors;
    135   i++;
    136   for (; i.hasItem(); i++)
    137   {
    138     resultBuf= absBiFactorizeMain (i.getItem().factor());
    139     for (iter= resultBuf; iter.hasItem(); iter++)
    140       iter.getItem()= CFAFactor (iter.getItem().factor(),
    141                                  iter.getItem().minpoly(), i.getItem().exp());
    142     result= Union (result, resultBuf);
    143   }
    144 
    145   for (CFAFListIterator i= result; i.hasItem(); i++)
    146     i.getItem()= CFAFactor (N (i.getItem().factor()), i.getItem().minpoly(),
    147                             i.getItem().exp());
    148   for (CFAFListIterator i= contentXFactors; i.hasItem(); i++)
    149     result.append (CFAFactor (N(i.getItem().factor()), i.getItem().minpoly(),
    150                               i.getItem().exp()));
    151   for (CFAFListIterator i= contentYFactors; i.hasItem(); i++)
    152     result.append (CFAFactor (N(i.getItem().factor()), i.getItem().minpoly(),
    153                               i.getItem().exp()));
    154   normalize (result);
    155   result.insert (CFAFactor (Lc(G), 1, 1));
    156 
    15776  return result;
    15877}
  • factory/facAbsBiFact.h

    r44cd9a r849b7c  
    5656                         );
    5757
    58 /*BEGINPUBLIC*/
    59 
    60 #ifdef HAVE_NTL
    61 CFAFList absBiFactorize (const CanonicalForm& G);
    6258#endif
    63 
    64 /*ENDPUBLIC*/
    65 
    66 #endif
  • factory/factory.template

    r44cd9a r849b7c  
    107107
    108108/*MAKEHEADER PUBLIC ONLY*/
    109 #include "facAbsBiFact.h"
    110 
    111 /*MAKEHEADER PUBLIC ONLY*/
    112109#include "facAbsFact.h"
    113110
Note: See TracChangeset for help on using the changeset viewer.