Changeset 4e76a6 in git


Ignore:
Timestamp:
Jul 31, 2013, 7:18:58 PM (11 years ago)
Author:
Martin Lee <martinlee84@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
ae1735dae5c3034d933f9a8b0c463ff13b4b3521
Parents:
92bbbcc0bed082d961421c5dc103f86fb569feab
git-author:
Martin Lee <martinlee84@web.de>2013-07-31 19:18:58+02:00
git-committer:
Martin Lee <martinlee84@web.de>2013-08-30 13:48:27+02:00
Message:
fix: includes and some typos
Location:
factory
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • factory/facAbsBiFact.cc

    r92bbbc r4e76a6  
    692692#endif
    693693
    694 #ifdef HAVE_NTL
    695 /// absolute factorization of bivariate poly over Q
    696 ///
    697 /// @return absFactorize returns a list whose entries contain three entities:
    698 ///         an absolute irreducible factor, an irreducible univariate polynomial
    699 ///         that defines the minimal field extension over which the irreducible
    700 ///         factor is defined and the multiplicity of the absolute irreducible
    701 ///         factor
    702 CFAFList absFactorize (const CanonicalForm& G ///<[in] bivariate poly over Q
    703                       )
    704 {
    705   //TODO handle homogeneous input
    706   ASSERT (getNumVars (G) <= 2, "expected bivariate input");
    707   ASSERT (getCharacteristic() == 0, "expected poly over Q");
    708 
    709   CFMap N;
    710   CanonicalForm F= compress (G, N);
    711   bool isRat= isOn (SW_RATIONAL);
    712   if (isRat)
    713     F *= bCommonDen (F);
    714 
    715   Off (SW_RATIONAL);
    716   F /= icontent (F);
    717   if (isRat)
    718     On (SW_RATIONAL);
    719 
    720   CanonicalForm contentX= content (F, 1);
    721   CanonicalForm contentY= content (F, 2);
    722   F /= (contentX*contentY);
    723   CFAFList contentXFactors, contentYFactors;
    724   contentXFactors= uniAbsFactorize (contentX);
    725   contentYFactors= uniAbsFactorize (contentY);
    726 
    727   if (contentXFactors.getFirst().factor().inCoeffDomain())
    728     contentXFactors.removeFirst();
    729   if (contentYFactors.getFirst().factor().inCoeffDomain())
    730     contentYFactors.removeFirst();
    731   if (F.inCoeffDomain())
    732   {
    733     CFAFList result;
    734     for (CFAFListIterator i= contentXFactors; i.hasItem(); i++)
    735       result.append (CFAFactor (N (i.getItem().factor()), i.getItem().minpoly(),
    736                                 i.getItem().exp()));
    737     for (CFAFListIterator i= contentYFactors; i.hasItem(); i++)
    738       result.append (CFAFactor (N (i.getItem().factor()),i.getItem().minpoly(),
    739                                 i.getItem().exp()));
    740     normalize (result);
    741     result.insert (CFAFactor (Lc (G), 1, 1));
    742     return result;
    743   }
    744   CFFList rationalFactors= factorize (F);
    745 
    746   CFAFList result, resultBuf;
    747 
    748   CFAFListIterator iter;
    749   CFFListIterator i= rationalFactors;
    750   i++;
    751   for (; i.hasItem(); i++)
    752   {
    753     resultBuf= absFactorizeMain (i.getItem().factor());
    754     for (iter= resultBuf; iter.hasItem(); iter++)
    755       iter.getItem()= CFAFactor (iter.getItem().factor(),
    756                                  iter.getItem().minpoly(), i.getItem().exp());
    757     result= Union (result, resultBuf);
    758   }
    759 
    760   for (CFAFListIterator i= result; i.hasItem(); i++)
    761     i.getItem()= CFAFactor (N (i.getItem().factor()), i.getItem().minpoly(),
    762                             i.getItem().exp());
    763   for (CFAFListIterator i= contentXFactors; i.hasItem(); i++)
    764     result.append (CFAFactor (N(i.getItem().factor()), i.getItem().minpoly(),
    765                               i.getItem().exp()));
    766   for (CFAFListIterator i= contentYFactors; i.hasItem(); i++)
    767     result.append (CFAFactor (N(i.getItem().factor()), i.getItem().minpoly(),
    768                               i.getItem().exp()));
    769   normalize (result);
    770   result.insert (CFAFactor (Lc(G), 1, 1));
    771 
    772   return result;
    773 }
    774 #endif
    775 
    776 
     694
  • factory/facAbsBiFact.h

    r92bbbc r4e76a6  
    1515#define FAC_ABS_BI_FACT_H
    1616
    17 #include "cf_assert.h"
    18 
    19 #include "cf_algorithm.h"
    20 #include "cf_map.h"
     17#include "canonicalform.h"
    2118
    2219#ifdef HAVE_NTL
  • factory/facAbsFact.cc

    r92bbbc r4e76a6  
    22 * Computer Algebra System SINGULAR
    33\*****************************************************************************/
    4 /** @file facAbsMultiFact.cc
     4/** @file facAbsFact.cc
    55 *
    66 * @author Martin Lee
     
    88 **/
    99/*****************************************************************************/
     10
     11#ifdef HAVE_CONFIG_H
     12#include "config.h"
     13#endif /* HAVE_CONFIG_H */
    1014
    1115#include "timing.h"
     
    371375    TIMING_START (abs_fac_evaluation);
    372376    bufEvaluation= evalPoints4AbsFact (bufA, bufAeval, E);
    373     TIMING_END_AND_PRINT (abs_fac_evaluation, 
     377    TIMING_END_AND_PRINT (abs_fac_evaluation,
    374378                          "time to find evaluation point in abs fact: ");
    375379    E.nextpoint();
  • factory/facAbsFact.h

    r92bbbc r4e76a6  
    22 * Computer Algebra System SINGULAR
    33\*****************************************************************************/
    4 /** @file facAbsMultiFact.h
     4/** @file facAbsFact.h
    55 *
    66 * absolute multivariate factorization over Q
Note: See TracChangeset for help on using the changeset viewer.