Loading...
Searching...
No Matches
cfGcdAlgExt.h
Go to the documentation of this file.
/**
* @file cfGcdAlgExt.h
*
* GCD over Q(a)
*
* ABSTRACT: Implementation of Encarnacion's GCD algorithm over number fields,
* see M.J. Encarnacion "Computing GCDs of polynomials over number fields",
* extended to the multivariate case.
*
* @sa cfNTLzzpEXGCD.h
**/
#ifndef CF_GCD_ALGEXT_H
#define CF_GCD_ALGEXT_H
// #include "config.h"
#include "canonicalform.h"
#include "variable.h"
/// gcd over Q(a)
CanonicalForm QGCD( const CanonicalForm &, const CanonicalForm & );
#ifndef HAVE_NTL
void tryDivrem (const CanonicalForm&, const CanonicalForm&, CanonicalForm&,
CanonicalForm&, CanonicalForm&, const CanonicalForm&,
bool&);
void tryEuclid( const CanonicalForm &, const CanonicalForm &, const CanonicalForm &, CanonicalForm &, bool & );
void tryExtgcd( const CanonicalForm & F, const CanonicalForm & G, const CanonicalForm& M, CanonicalForm & result, CanonicalForm & s, CanonicalForm & t, bool & fail );
#endif
void tryInvert( const CanonicalForm &, const CanonicalForm &, CanonicalForm &, bool & );
/// modular gcd over F_p[x]/(M) for not necessarily irreducible M.
/// If a zero divisor is encountered fail is set to true.
void tryBrownGCD( const CanonicalForm & F, const CanonicalForm & G, const CanonicalForm & M, CanonicalForm & result, bool & fail, bool topLevel= true );
bool isLess(int *a, int *b, int lower, int upper);
bool isEqual(int *a, int *b, int lower, int upper);
CanonicalForm firstLC(const CanonicalForm & f);
#endif
canonicalform.h
Header for factory's main class CanonicalForm.
topLevel
const CanonicalForm CFMap CFMap bool topLevel
Definition cfGcdAlgExt.cc:58
isLess
bool isLess(int *a, int *b, int lower, int upper)
Definition cfGcdAlgExt.cc:936
isEqual
bool isEqual(int *a, int *b, int lower, int upper)
Definition cfGcdAlgExt.cc:947
tryBrownGCD
void tryBrownGCD(const CanonicalForm &F, const CanonicalForm &G, const CanonicalForm &M, CanonicalForm &result, bool &fail, bool topLevel=true)
modular gcd over F_p[x]/(M) for not necessarily irreducible M. If a zero divisor is encountered fail ...
Definition cfGcdAlgExt.cc:387
QGCD
CanonicalForm QGCD(const CanonicalForm &, const CanonicalForm &)
gcd over Q(a)
Definition cfGcdAlgExt.cc:731
tryInvert
void tryInvert(const CanonicalForm &, const CanonicalForm &, CanonicalForm &, bool &)
Definition cfGcdAlgExt.cc:222
firstLC
CanonicalForm firstLC(const CanonicalForm &f)
Definition cfGcdAlgExt.cc:956
b
CanonicalForm b
Definition cfModGcd.cc:4111
f
FILE * f
Definition checklibs.c:9
CanonicalForm
factory's main class
Definition canonicalform.h:86
result
return result
Definition facAbsBiFact.cc:76
s
const CanonicalForm int s
Definition facAbsFact.cc:51
G
STATIC_VAR TreeM * G
Definition janet.cc:31
M
#define M
Definition sirandom.c:25
variable.h
operations on variables