65 zz_pE::init (NTLMipo);
67 zz_pE NTLA2= to_zz_pE (NTLA);
68 power (NTLA2, NTLA2, q/p);
82 #if (HAVE_FLINT && __FLINT_RELEASE >= 20400) 90 nmod_poly_t FLINTmipo;
100 fq_nmod_init2 (FLINTA, fq_con);
104 fmpz_init_set (qp, q);
105 fmpz_divexact_si (qp, qp, p);
107 fq_nmod_pow (FLINTA, FLINTA, qp, fq_con);
112 fq_nmod_clear (FLINTA, fq_con);
130 bool derivZero=
true;
134 for (
int i= 1;
i <= result.
level();
i++)
164 while (j < p - 1 &&
degree(u) >= 0)
192 else if (alpha.
level() != 1)
201 for (
int i= l;
i > 0;
i--)
212 if (!k.
hasItem() && !
j.getItem().factor().inCoeffDomain()) tmp2.
append (
j.getItem());
217 if (k.
getItem().exp() ==
j.getItem().exp())
224 if (found ==
false && !
j.getItem().factor().inCoeffDomain())
231 bool degcheck=
false;;
232 for (
int i= l;
i > 0;
i--)
240 #if defined(HAVE_NTL) || (HAVE_FLINT && __FLINT_RELEASE >= 20400) 241 if (alpha.
level() == 1)
244 #if (HAVE_FLINT && __FLINT_RELEASE >= 20400) 248 fmpz_init_set_ui (qq, p);
249 fmpz_pow_ui (qq, qq, k);
250 buffer=
pthRoot (A, qq, alpha);
253 #elif defined(HAVE_NTL) 270 tmp=
gcd (
i.getItem().factor(),
j.getItem().factor());
271 i.getItem()=
CFFactor (
i.getItem().factor()/tmp,
i.getItem().exp());
272 j.getItem()=
CFFactor (
j.getItem().factor()/tmp,
j.getItem().exp());
277 j.getItem().exp()*p +
i.getItem().exp()));
283 if (!
i.getItem().factor().inCoeffDomain())
285 tmp=
M (
i.getItem().factor());
291 if (!
j.getItem().factor().inCoeffDomain())
293 tmp=
M (
j.getItem().factor());
317 for (; i <= A.
level(); i++)
337 for (; i <= A.
level(); i++)
nmod_poly_init(FLINTmipo, getCharacteristic())
Conversion to and from NTL.
This file defines functions for conversion to FLINT (www.flintlib.org) and back.
CanonicalForm convertFq_nmod_t2FacCF(const fq_nmod_t poly, const Variable &alpha)
conversion of a FLINT element of F_q to a CanonicalForm with alg. variable alpha
factory's class for variables
CanonicalForm convertNTLzzpE2CF(const zz_pE &coefficient, const Variable &x)
nmod_poly_clear(FLINTmipo)
CanonicalForm compress(const CanonicalForm &f, CFMap &m)
CanonicalForm compress ( const CanonicalForm & f, CFMap & m )
fq_nmod_ctx_clear(fq_con)
This file provides functions for squarefrees factorizing over , or GF.
static CFFList sqrfPosDer(const CanonicalForm &F, const Variable &x, CanonicalForm &c)
CFFList squarefreeFactorization(const CanonicalForm &F, const Variable &alpha)
squarefree factorization over a finite field return a list of squarefree factors with multiplicity ...
CanonicalForm maxpthRoot(const CanonicalForm &F, int q, int &l)
p^l-th root extraction, where l is maximal
convertFacCF2nmod_poly_t(FLINTmipo, M)
int status int void * buf
Interface to generate InternalCF's over various domains from intrinsic types or mpz_t's.
fq_nmod_ctx_init_modulus(fq_con, FLINTmipo,"Z")
void convertFacCF2Fq_nmod_t(fq_nmod_t result, const CanonicalForm &f, const fq_nmod_ctx_t ctx)
conversion of a factory element of F_q to a FLINT fq_nmod_t, does not do any memory allocation for po...
Iterators for CanonicalForm's.
class to iterate through CanonicalForm's
const Variable & v
< [in] a sqrfree bivariate poly
static CanonicalForm pthRoot(const CanonicalForm &F, int q)
int ipower(int b, int m)
int ipower ( int b, int m )
zz_pX convertFacCF2NTLzzpX(const CanonicalForm &f)
#define GaloisFieldDomain
CanonicalForm getMipo(const Variable &alpha, const Variable &x)
CanonicalForm sqrfPart(const CanonicalForm &F, CanonicalForm &pthPower, const Variable &alpha)
squarefree part of F/g, where g is the product of those squarefree factors whose multiplicity is 0 mo...