 |
My Project
debian-1:4.1.1-p2+ds-4build3
|
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 37 of file algext.h.
◆ n2pInitChar()
first check whether cf->extRing != NULL and delete old ring???
Definition at line 1679 of file algext.cc.
1692 const ring
R = e->
r;
1750 cf->iNumberOfParameters =
rVar(
R);
1751 cf->pParameterNames = (
const char**)
R->names;
◆ naCoeffName()
Definition at line 1352 of file algext.cc.
1359 l+=(strlen(
p[
i])+1);
1363 snprintf(
s,10+1,
"%d",r->ch);
◆ naCoeffString()
Definition at line 1329 of file algext.cc.
1336 l+=(strlen(
p[
i])+1);
1340 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 1395 of file algext.cc.
1407 (e->
r->qideal->m[0] !=
NULL) );
1413 const ring
R = e->
r;
1478 cf->iNumberOfParameters =
rVar(
R);
1479 cf->pParameterNames = (
const char**)
R->names;
1481 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 1095 of file algext.cc.
1099 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 1019 of file algext.cc.
1045 if (src->ch == dst->ch)
return naMapPP;
1049 if (
h != 1)
return NULL;
1061 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 218 of file algext.cc.
223 { a = q;
b =
p; aCorrespondsToP =
FALSE; }
225 poly aFactor =
NULL; poly bFactor =
NULL;
227 if (aCorrespondsToP) { pFactor = aFactor; qFactor = bFactor; }
228 else { pFactor = bFactor; qFactor = aFactor; }
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
@ n_rep_gap_rat
(number), see longrat.h
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)
static FORCE_INLINE char const ** n_ParameterNames(const coeffs r)
Returns a (const!) pointer to (const char*) names of parameters.
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)
@ n_polyExt
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 naClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
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)
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)
@ n_rep_poly
(poly), see algext.h
static poly p_ExtGcdHelper(poly &p, poly &pFactor, poly &q, poly &qFactor, ring r)
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)
@ n_algExt
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)
@ n_rep_gap_gmp
(), see rinteger.h, new impl.