13 #ifndef FAC_FACTORIZE_H
14 #define FAC_FACTORIZE_H
92 int * substDegree=
new int [F.
level()];
98 if (substDegree [
i-1] > 1)
105 substDegree[
i-1]= -1;
116 tmp2=
i.getItem().factor();
119 if (substDegree[
j-1] > 1)
126 j.getItem().exp()*
i.getItem().exp()));
128 delete [] substDegree;
131 delete [] substDegree;
142 "time for squarefree factorization over Q: ");
150 "time to factorize sqrfree factor over Q: ");
153 if (
j.getItem().inCoeffDomain())
continue;
CFFList ratBiFactorize(const CanonicalForm &G, const Variable &v=Variable(1), bool substCheck=true)
factorize a bivariate polynomial over
static poly normalize(poly next_p, ideal add_generators, syStrategy syzstr, int *g_l, int *p_l, int crit_comp)
CFFList ratFactorize(const CanonicalForm &G, const Variable &v=Variable(1), bool substCheck=true)
factorize a multivariate polynomial over
#define TIMING_END_AND_PRINT(t, msg)
factory's class for variables
TIMING_DEFINE_PRINT(fac_squarefree) TIMING_DEFINE_PRINT(fac_factor_squarefree) void factorizationWRTDifferentSecondVars(const CanonicalForm &A
Factorization of A wrt. to different second vars.
CFList *& Aeval
<[in] poly
CFList int & minFactorsLength
[in,out] minimal length of < bivariate factors
CFList ratSqrfFactorize(const CanonicalForm &G, const Variable &v=Variable(1))
factorize a squarefree multivariate polynomial over
CFList int bool const Variable & w
<[in] alg. variable
CanonicalForm subst(const CanonicalForm &f, const CFList &a, const CFList &b, const CanonicalForm &Rstar, bool isFunctionField)
CFList multiFactorize(const CanonicalForm &F, const Variable &v)
Factorization over Q (a)
static const int SW_RATIONAL
set to 1 for computations over Q
int substituteCheck(const CanonicalForm &F, const Variable &x)
check if a substitution x^n->x is possible
void factorizationWRTDifferentSecondVars(const CanonicalForm &A, CFList *&Aeval, int &minFactorsLength, bool &irred, const Variable &w)
CanonicalForm bCommonDen(const CanonicalForm &f)
CanonicalForm bCommonDen ( const CanonicalForm & f )
This file provides utility functions for bivariate factorization.
const Variable & v
< [in] a sqrfree bivariate poly
CFList ratBiSqrfFactorize(const CanonicalForm &G, const Variable &v=Variable(1))
factorize a squarefree bivariate polynomial over .
CanonicalForm reverseSubst(const CanonicalForm &F, const int d, const Variable &x)
reverse a substitution x^d->x
CFList int bool & irred
[in,out] Is A irreducible?
bivariate factorization over Q(a)
CFFList sqrFree(const CanonicalForm &f, bool sort=false)
squarefree factorization