26 for (
int i = 1;
i <=
k;
i++ )
29 for (
int j =
i-1;
j >= 0;
j-- )
36 }
while ( !r.
isOne() );
61 for ( I = F,
j = 1; I.
hasItem(); I++,
j++ )
75 for (
j = 1;
j <= r;
j ++ )
78 for ( I = F,
i = 1; I.
hasItem(); I++,
i++ )
82 DEBOUTLN( cerr,
"trying to distribute " << ft );
83 DEBOUTLN( cerr,
"which is tested with " <<
D[
i] );
84 DEBOUTLN( cerr,
"and contained to the power of " <<
m );
86 while (
m > 0 &&
j <= r )
89 DEBOUTLN( cerr,
"checking with " << ut );
104 DEBOUTLN( cerr,
"the leading coeffs before omega and delta correction: " << lcG );
105 if ( !omega.
isOne() )
107 for (
j = 1;
j <= r;
j++ )
114 U *=
power( omega, r-1 );
116 if ( !
delta.isOne() )
118 for (
j = 1;
j <= r;
j++ )
124 U *=
power( delta, r );
143 for (
i = L;
i.hasItem() && !
f.isOne(); )
145 h =
gcd(
f,
i.getItem() );
154 gfbAdjoin(
i.getItem() /
h,
D );
155 for (
j =
D;
j.hasItem();
j++ )
156 i.append(
j.getItem() );
169 for (
i = L;
i.hasItem();
i++ )
170 gfbAdjoin(
i.getItem(),
R );
180 for (
int i = 1;
i <= n;
i++ )
193 for (
i=1;
i <= n;
i++)
203 Univar2Bivar(BivariateU, BivariateFactors,
A,
bound,
y);
204 for (
i = 1;
i <= n;
i++)
206 BivariateFactors[
i] /=
content(BivariateFactors[
i]);
212 for (
i = 1;
i <= n;
i++)
Rational abs(const Rational &a)
static int Hensel(const CanonicalForm &UU, CFArray &G, const Evaluation &AA, const CFArray &LeadCoeffs)
bool fdivides(const CanonicalForm &f, const CanonicalForm &g)
bool fdivides ( const CanonicalForm & f, const CanonicalForm & g )
declarations of higher level algorithms.
Iterators for CanonicalForm's.
static CanonicalForm bound(const CFMatrix &M)
class to evaluate a polynomial at points
factory's class for variables
class to do operations mod p^k for int's p and k
functions to print debug output
#define DEBINCLEVEL(stream, msg)
#define DEBOUTLN(stream, objects)
#define DEBDECLEVEL(stream, msg)
const CanonicalForm int const CFList const Variable & y
bool isZero(const CFArray &A)
checks if entries of A are zero
CFList gcdFreeBasis(const CFList L)
bool nonDivisors(CanonicalForm omega, CanonicalForm delta, const CFArray &F, CFArray &d)
bool checkEvaluation(const CanonicalForm &U, const CanonicalForm &lcU, const CanonicalForm &omega, const CFFList &F, const Evaluation &A, CanonicalForm &delta)
bool distributeLeadingCoeffs(CanonicalForm &U, CFArray &G, CFArray &lcG, const CFFList &F, const CFArray &D, CanonicalForm &delta, CanonicalForm &omega, const Evaluation &A, int r)
operations mod p^k and some other useful functions for factorization
bool delta(X x, Y y, D d)