 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
Go to the source code of this file.
|
BOOLEAN | maApplyFetch (int what, map theMap, leftv res, leftv w, ring preimage_r, int *perm, int *par_perm, int P, nMapFunc nMap) |
|
poly | pSubstPar (poly p, int par, poly image) |
|
ideal | idSubstPar (ideal id, int n, poly e) |
|
poly | pSubstPoly (poly p, int var, poly image) |
|
ideal | idSubstPoly (ideal id, int n, poly e) |
|
◆ TRANSEXT_PRIVATES
#define TRANSEXT_PRIVATES |
◆ idSubstPar()
ideal idSubstPar |
( |
ideal |
id, |
|
|
int |
n, |
|
|
poly |
e |
|
) |
| |
◆ idSubstPoly()
ideal idSubstPoly |
( |
ideal |
id, |
|
|
int |
n, |
|
|
poly |
e |
|
) |
| |
◆ maApplyFetch()
Definition at line 46 of file maps_ip.cc.
57 while((i<currRing->
N)&&(perm[
i]==0))
i++;
64 if (perm[prev_nonnull] > perm[
i])
68 Warn(
"imap not usable for permuting variables, use map (%s <-> %s)",
currRing->names[prev_nonnull-1],
currRing->names[
i-1]);
80 int N = preimage_r->N;
86 if (par_perm!=
NULL)
for(
i=0;
i<P;
i++)
Print(
"%d -> %d ",
i,par_perm[
i]);
107 number a = nMap((number)data, preimage_r->cf,
currRing->cf);
136 p_Test((poly)data,preimage_r);
150 int C=((
matrix)data)->cols();
158 tmpR=((
map)data)->preimage;
163 for (
i=
R*C-1;
i>=0;
i--)
171 for (
i=
R*C-1;
i>=0;
i--)
174 nMap,par_perm,P,use_mult);
182 for (
i=
R*C-1;
i>=0;
i--)
191 for (
i=
R*C-1;
i>=0;
i--)
199 ((
map)data)->preimage=tmpR;
216 for(
i=0;
i<=
l->nr;
i++)
222 preimage_r,perm,par_perm,P,nMap))
235 res->data=(
char *)ml;
◆ pSubstPar()
poly pSubstPar |
( |
poly |
p, |
|
|
int |
par, |
|
|
poly |
image |
|
) |
| |
Definition at line 250 of file maps_ip.cc.
267 theMap->preimage=
NULL;
281 p_Test((poly)NUM((fraction)d),
R);
289 WarnS(
"ignoring denominators of coefficients...");
294 memset(&tmpW,0,
sizeof(
sleftv));
298 tmpW.
data = NUM ((fraction)
num);
319 poly ppp =
pMult((poly)(
v->data),
pp);
332 memset(&tmpW,0,
sizeof(
sleftv));
351 poly ppp =
pMult((poly)(
v->data),
pp);
359 WerrorS(
"cannot apply subst for these coeffcients");
◆ pSubstPoly()
poly pSubstPoly |
( |
poly |
p, |
|
|
int |
var, |
|
|
poly |
image |
|
) |
| |
void p_Normalize(poly p, const ring r)
int maMaxDeg_Ma(ideal a, ring preimage_r)
poly pSubstPar(poly p, int par, poly image)
#define idDelete(H)
delete an ideal
static FORCE_INLINE number n_GetNumerator(number &n, const coeffs r)
return the numerator of n (if elements of r are by nature not fractional, result is n)
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
const CanonicalForm CFMap CFMap & N
static FORCE_INLINE number n_Param(const int iParameter, const coeffs r)
return the (iParameter^th) parameter as a NEW number NOTE: parameter numbering: 1....
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
Class used for (list of) interpreter objects.
static FORCE_INLINE void n_Normalize(number &n, const coeffs r)
inplace-normalization of n; produces some canonical representation of n;
BOOLEAN maApplyFetch(int what, map theMap, leftv res, leftv w, ring preimage_r, int *perm, int *par_perm, int P, nMapFunc nMap)
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
poly n_PermNumber(const number z, const int *par_perm, const int, const ring src, const ring dst)
@ n_rep_rat_fct
(fraction), see transext.h
static poly p_Copy(poly p, const ring r)
returns a copy of p
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar, BOOLEAN use_mult)
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
void PrintS(const char *s)
static FORCE_INLINE BOOLEAN nCoeff_is_algExt(const coeffs r)
TRUE iff r represents an algebraic extension field.
static int rPar(const ring r)
(r->cf->P)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static FORCE_INLINE BOOLEAN nCoeff_is_Extension(const coeffs r)
int maMaxDeg_P(poly p, ring preimage_r)
@ n_rep_poly
(poly), see algext.h
matrix mpNew(int r, int c)
create a r x c zero-matrix
poly p_MinPolyNormalize(poly p, const ring r)
#define pSetCoeff(p, n)
deletes old coeff before setting the new one
poly p_SubstPoly(poly p, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap, matrix cache=NULL)
static FORCE_INLINE number n_Invers(number a, const coeffs r)
return the multiplicative inverse of 'a'; raise an error if 'a' is not invertible
ideal id_SubstPoly(ideal id, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap)
poly p_NSet(number n, const ring r)
returns the poly representing the number n, destroys n
ideal idInit(int idsize, int rank)
initialise an ideal / module
void WerrorS(const char *s)
const Variable & v
< [in] a sqrfree bivariate poly
INLINE_THIS void Init(int l=0)
static BOOLEAN p_IsConstant(const poly p, const ring r)
const CanonicalForm int s
const char * Tok2Cmdname(int tok)
#define pCopy(p)
return a copy of the poly
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
#define n_Test(a, r)
BOOLEAN n_Test(number a, const coeffs r)
#define omFreeBin(addr, bin)
static FORCE_INLINE number n_GetDenom(number &n, const coeffs r)
return the denominator of n (if elements of r are by nature not fractional, result is 1)
poly prCopyR(poly p, ring src_r, ring dest_r)
poly maEval(map theMap, poly p, ring preimage_r, nMapFunc nMap, ideal s, const ring dst_r)
void Clean(ring r=currRing)