 |
My Project
debian-1:4.1.2-p1+ds-2
|
Go to the source code of this file.
|
nMapFunc | naSetMap (const coeffs src, const coeffs dst) |
| Get a mapping function from src into the domain of this type (n_algExt) More...
|
|
BOOLEAN | naInitChar (coeffs cf, void *infoStruct) |
| Initialize the coeffs object. More...
|
|
BOOLEAN | n2pInitChar (coeffs cf, void *infoStruct) |
|
int | naIsParam (number, const coeffs) |
| if m == var(i)/1 => return i, More...
|
|
poly | p_ExtGcd (poly p, poly &pFactor, poly q, poly &qFactor, ring r) |
| assumes that p and q are univariate polynomials in r, mentioning the same variable; assumes a global monomial ordering in r; assumes that not both p and q are NULL; returns the gcd of p and q; moreover, afterwards pFactor and qFactor contain appropriate factors such that gcd(p, q) = p * pFactor + q * qFactor; leaves p and q unmodified More...
|
|
char * | naCoeffString (const coeffs r) |
|
char * | naCoeffName (const coeffs r) |
|
◆ AlgExtInfo
struct for passing initialization parameters to naInitChar
Definition at line 36 of file algext.h.
◆ n2pInitChar()
first check whether cf->extRing != NULL and delete old ring???
Definition at line 1680 of file algext.cc.
1694 const ring
R = e->
r;
1752 cf->iNumberOfParameters =
rVar(
R);
1753 cf->pParameterNames = (
const char**)
R->names;
◆ naCoeffName()
Definition at line 1354 of file algext.cc.
1361 l+=(strlen(
p[
i])+1);
1365 snprintf(
s,10+1,
"%d",r->ch);
◆ naCoeffString()
Definition at line 1331 of file algext.cc.
1338 l+=(strlen(
p[
i])+1);
1342 snprintf(
s,10+1,
"%d",r->ch);
◆ naInitChar()
Initialize the coeffs object.
first check whether cf->extRing != NULL and delete old ring???
Definition at line 1397 of file algext.cc.
1409 (e->
r->qideal->m[0] !=
NULL) );
1415 const ring
R = e->
r;
1480 cf->iNumberOfParameters =
rVar(
R);
1481 cf->pParameterNames = (
const char**)
R->names;
1483 cf->has_simple_Inverse=
R->cf->has_simple_Inverse;
◆ naIsParam()
int naIsParam |
( |
number |
, |
|
|
const |
coeffs |
|
) |
| |
if m == var(i)/1 => return i,
Definition at line 1093 of file algext.cc.
1097 const ring
R =
cf->extRing;
◆ naSetMap()
Get a mapping function from src into the domain of this type (n_algExt)
Q or Z --> Q(a)
Z --> Q(a)
Z/p --> Q(a)
Q --> Z/p(a)
Z --> Z/p(a)
Z/p --> Z/p(a)
Z/u --> Z/p(a)
default
Definition at line 1017 of file algext.cc.
1043 if (src->ch == dst->ch)
return naMapPP;
1047 if (
h != 1)
return NULL;
1059 else if ((nMap!=
NULL) && (strcmp(
rRingVar(0,src->extRing),
rRingVar(0,dst->extRing))==0) && (
rVar (src->extRing) ==
rVar (dst->extRing)))
◆ p_ExtGcd()
poly p_ExtGcd |
( |
poly |
p, |
|
|
poly & |
pFactor, |
|
|
poly |
q, |
|
|
poly & |
qFactor, |
|
|
ring |
r |
|
) |
| |
assumes that p and q are univariate polynomials in r, mentioning the same variable; assumes a global monomial ordering in r; assumes that not both p and q are NULL; returns the gcd of p and q; moreover, afterwards pFactor and qFactor contain appropriate factors such that gcd(p, q) = p * pFactor + q * qFactor; leaves p and q unmodified
Definition at line 216 of file algext.cc.
221 { a = q;
b =
p; aCorrespondsToP =
FALSE; }
223 poly aFactor =
NULL; poly bFactor =
NULL;
225 if (aCorrespondsToP) { pFactor = aFactor; qFactor = bFactor; }
226 else { pFactor = bFactor; qFactor = aFactor; }
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
char * n2pCoeffString(const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Zp(const coeffs r)
nMapFunc naSetMap(const coeffs src, const coeffs dst)
Get a mapping function from src into the domain of this type (n_algExt)
void naCoeffWrite(const coeffs cf, BOOLEAN details)
static BOOLEAN rCanShortOut(const ring r)
BOOLEAN naIsOne(number a, const coeffs cf)
char * naCoeffName(const coeffs r)
void n2pCoeffWrite(const coeffs cf, BOOLEAN details)
const char * n2pRead(const char *s, number *a, const coeffs cf)
void n2pPower(number a, int exp, number *b, const coeffs cf)
number naDiv(number a, number b, const coeffs cf)
number naGenMap(number a, const coeffs cf, const coeffs dst)
number naGcd(number a, number b, const coeffs cf)
int p_Var(poly m, const ring r)
number n2pInvers(number a, const coeffs cf)
number naChineseRemainder(number *x, number *q, int rl, BOOLEAN, CFArray &inv_cache, const coeffs cf)
int naParDeg(number a, const coeffs cf)
number naInvers(number a, const coeffs cf)
number naFarey(number p, number n, const coeffs cf)
number naMap00(number a, const coeffs src, const coeffs dst)
void naWriteLong(number a, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Q_or_BI(const coeffs r)
static coeffs nCoeff_bottom(const coeffs r, int &height)
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
BOOLEAN naDBTest(number a, const char *f, const int l, const coeffs r)
number naMapPP(number a, const coeffs src, const coeffs dst)
number naAdd(number a, number b, const coeffs cf)
static FORCE_INLINE int n_NumberOfParameters(const coeffs r)
Returns the number of parameters.
CanonicalForm naConvSingNFactoryN(number n, BOOLEAN, const coeffs cf)
number n2pMult(number a, number b, const coeffs cf)
number naLcmContent(number a, number b, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Q(const coeffs r)
static poly p_Copy(poly p, const ring r)
returns a copy of p
number naCopy(number a, const coeffs cf)
static short rVar(const ring r)
#define rVar(r) (r->N)
used to represent polys as coeffcients
struct for passing initialization parameters to naInitChar
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
static char * rRingVar(short i, const ring r)
void naClearDenominators(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
BOOLEAN naGreaterZero(number a, const coeffs cf)
forward declarations
BOOLEAN naGreater(number a, number b, const coeffs cf)
int naSize(number a, const coeffs cf)
char * n2pCoeffName(const coeffs cf)
static void naClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
number naParameter(const int iParameter, const coeffs cf)
return the specified parameter as a number in the given alg. field
number naGetDenom(number &a, const coeffs cf)
number naGetNumerator(number &a, const coeffs cf)
long naInt(number &a, const coeffs cf)
number naMult(number a, number b, const coeffs cf)
number naMapUP(number a, const coeffs src, const coeffs dst)
char * naCoeffString(const coeffs r)
number naConvFactoryNSingN(const CanonicalForm n, const coeffs cf)
void naPower(number a, int exp, number *b, const coeffs cf)
void naWriteShort(number a, const coeffs cf)
number n2pDiv(number a, number b, const coeffs cf)
void naKillChar(coeffs cf)
static poly p_ExtGcdHelper(poly &p, poly &pFactor, poly &q, poly &qFactor, ring r)
static FORCE_INLINE const char ** n_ParameterNames(const coeffs r)
Returns a (const!) pointer to (const char*) names of parameters.
number naInit(long i, const coeffs cf)
const char * naRead(const char *s, number *a, const coeffs cf)
long p_Deg(poly a, const ring r)
number naSub(number a, number b, const coeffs cf)
void naNormalize(number &a, const coeffs cf)
number naGenTrans2AlgExt(number a, const coeffs cf, const coeffs dst)
static BOOLEAN naCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
static BOOLEAN n2pCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
BOOLEAN naIsZero(number a, const coeffs cf)
number naMapP0(number a, const coeffs src, const coeffs dst)
number naNeg(number a, const coeffs cf)
this is in-place, modifies a
BOOLEAN rSamePolyRep(ring r1, ring r2)
returns TRUE, if r1 and r2 represents the monomials in the same way FALSE, otherwise this is an analo...
void naDelete(number *a, const coeffs cf)
number naCopyTrans2AlgExt(number a, const coeffs src, const coeffs dst)
const CanonicalForm int s
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
BOOLEAN naIsMOne(number a, const coeffs cf)
BOOLEAN naEqual(number a, number b, const coeffs cf)
number naMapZ0(number a, const coeffs src, const coeffs dst)
void n2pNormalize(number &a, const coeffs cf)
used for all algebraic extensions, i.e., the top-most extension in an extension tower is algebraic
number naMap0P(number a, const coeffs src, const coeffs dst)
(), see rinteger.h, new impl.