157 int shift= 0,
k= 0,
count= 0;
164 bool shiftBuf=
false;
192 if (normFactors.
getFirst().factor().inCoeffDomain())
194 if (normFactors.
length() < 2 && normFactors.
getLast().exp() == 1)
202 if (!(normFactors.
length() == 2 &&
217 for (;
i.hasItem();
i++)
240 if (
buf.inCoeffDomain())
247 if (normFactors.
getLast().exp() == 1)
254 if (normFactors.
getLast().exp() == 1)
391 if (
i.getItem().factor().inCoeffDomain())
continue;
395 "time to factor sqrf factors in Q(a)[x]: ");
396 for (
j= factorsSqrf;
j.hasItem();
j++)
398 lcinv= 1/
Lc (
j.getItem());
CanonicalForm resultantZ(const CanonicalForm &A, const CanonicalForm &B, const Variable &x, bool prob)
modular resultant algorihtm over Z
modular resultant algorithm as described by G.
CanonicalForm bCommonDen(const CanonicalForm &f)
CanonicalForm bCommonDen ( const CanonicalForm & f )
declarations of higher level algorithms.
CFFList FACTORY_PUBLIC factorize(const CanonicalForm &f, bool issqrfree=false)
factorization over or
CanonicalForm FACTORY_PUBLIC resultant(const CanonicalForm &f, const CanonicalForm &g, const Variable &x)
CanonicalForm resultant ( const CanonicalForm & f, const CanonicalForm & g, const Variable & x )
#define ASSERT(expression, message)
static const int SW_RATIONAL
set to 1 for computations over Q
static const int SW_USE_NTL_SORT
set to 1 to sort factors in a factorization
generate random integers, random elements of finite fields
factory's class for variables
functions to print debug output
CFList AlgExtSqrfFactorize(const CanonicalForm &F, const Variable &alpha)
factorize a univariate squarefree polynomial over algebraic extension of Q
CFFList AlgExtFactorize(const CanonicalForm &F, const Variable &alpha)
factorize a univariate polynomial over algebraic extension of Q
Univariate factorization over algebraic extension of Q using Trager's algorithm.
static CFFList sqrfNorm(const CanonicalForm &f, const CanonicalForm &PPalpha, const Variable &Extension, CanonicalForm &s, CanonicalForm &g, CanonicalForm &R)
see norm, R is guaranteed to be squarefree Based on Trager's sqrf_norm algorithm.
This file provides utility functions for bivariate factorization.
CFFList sqrFreeZ(const CanonicalForm &a)
squarefree part and factorization over Q, Q(a)
int status int void size_t count
int status int void * buf
#define TIMING_DEFINE_PRINT(t)
#define TIMING_END_AND_PRINT(t, msg)
CanonicalForm getMipo(const Variable &alpha, const Variable &x)