 |
My Project
debian-1:4.1.1-p2+ds-4
|
Go to the documentation of this file.
54 F /= (contentX*contentY);
55 CFFList contentXFactors, contentYFactors;
66 if (contentXFactors.
getFirst().factor().inCoeffDomain())
68 if (contentYFactors.
getFirst().factor().inCoeffDomain())
74 result.append (
N (
i.getItem().factor()));
76 result.append (
N (
i.getItem().factor()));
85 mpz_t *
M=
new mpz_t [4];
91 mpz_t * S=
new mpz_t [2];
100 result.append (
N(
i.getItem().factor()));
102 result.append (
N (
i.getItem().factor()));
130 bool substCheck=
true
138 bool foundOne=
false;
139 int * substDegree=
new int [F.
level()];
143 if (substDegree [
i-1] > 1)
158 tmp2=
i.getItem().factor();
161 if (substDegree[
j-1] > 1)
168 j.getItem().exp()*
i.getItem().exp()));
171 delete [] substDegree;
174 delete [] substDegree;
180 F /= (contentX*contentY);
181 CFFList contentXFactors, contentYFactors;
192 if (contentXFactors.
getFirst().factor().inCoeffDomain())
194 if (contentYFactors.
getFirst().factor().inCoeffDomain())
219 mpz_t *
M=
new mpz_t [4];
225 mpz_t * S=
new mpz_t [2];
233 "time for bivariate sqrf factors over Q: ");
239 "time to factor bivariate sqrf factors over Q: ");
242 if (
j.getItem().inCoeffDomain())
continue;
static const int SW_RATIONAL
set to 1 for computations over Q
TIMING_DEFINE_PRINT(fac_bi_sqrf) TIMING_DEFINE_PRINT(fac_bi_factor_sqrf) CFList biFactorize(const CanonicalForm &F
void findGoodPrime(const CanonicalForm &f, int &start)
find a big prime p from our tables such that no term of f vanishes mod p
modpk coeffBound(const CanonicalForm &f, int p, const CanonicalForm &mipo)
compute p^k larger than the bound on the coefficients of a factor of f over Q (mipo)
const CanonicalForm CFMap CFMap & N
CanonicalForm reverseSubst(const CanonicalForm &F, const int d, const Variable &x)
reverse a substitution x^d->x
TIMING_START(fac_alg_resultant)
CanonicalForm compress(const CanonicalForm &f, CFMap &m)
CanonicalForm compress ( const CanonicalForm & f, CFMap & m )
CFList ratBiSqrfFactorize(const CanonicalForm &G, const Variable &v=Variable(1))
factorize a squarefree bivariate polynomial over .
CFFList factorize(const CanonicalForm &f, bool issqrfree=false)
factorization over or
CanonicalForm decompress(const CanonicalForm &F, const mpz_t *inverseM, const mpz_t *A)
decompress a bivariate poly
int substituteCheck(const CanonicalForm &F, const Variable &x)
check if a substitution x^n->x is possible
class to do operations mod p^k for int's p and k
CanonicalForm bCommonDen(const CanonicalForm &f)
CanonicalForm bCommonDen ( const CanonicalForm & f )
TIMING_END_AND_PRINT(fac_alg_resultant, "time to compute resultant0: ")
static poly normalize(poly next_p, ideal add_generators, syStrategy syzstr, int *g_l, int *p_l, int crit_comp)
factory's class for variables
CFFList sqrFree(const CanonicalForm &f, bool sort=false)
squarefree factorization
template List< Variable > Union(const List< Variable > &, const List< Variable > &)
const Variable & v
< [in] a sqrfree bivariate poly
CFList biFactorize(const CanonicalForm &F, const Variable &v)
CFFList ratBiFactorize(const CanonicalForm &G, const Variable &v=Variable(1), bool substCheck=true)
factorize a bivariate polynomial over
CFList conv(const CFFList &L)
convert a CFFList to a CFList by dropping the multiplicity
CanonicalForm subst(const CanonicalForm &f, const CFList &a, const CFList &b, const CanonicalForm &Rstar, bool isFunctionField)