Go to the source code of this file.
|
poly | maEval (map theMap, poly p, ring preimage_r, nMapFunc nMap, ideal s, const ring dst_r) |
|
map | maCopy (map theMap, const ring dst_ring) |
|
poly | maIMap (ring src_ring, ring dst_ring, poly p) |
|
void | maFindPerm (char const *const *const preim_names, int preim_n, char const *const *const preim_par, int preim_p, char const *const *const names, int n, char const *const *const par, int nop, int *perm, int *par_perm, n_coeffType ch) |
|
void | maFindPermLP (char const *const *const preim_names, int preim_n, char const *const *const preim_par, int preim_p, char const *const *const names, int n, char const *const *const par, int nop, int *perm, int *par_perm, n_coeffType ch, int lV) |
|
poly | pSubstPoly (poly p, int var, poly image) |
|
ideal | idSubstPoly (ideal id, int n, poly e) |
|
poly | p_MinPolyNormalize (poly p, const ring r) |
|
int | maMaxDeg_P (poly p, ring preimage_r) |
|
int | maMaxDeg_Ma (ideal a, ring preimage_r) |
|
poly | maEvalVariable (poly p, int v, int pExp, ideal s, const ring dst_r) |
|
◆ idSubstPoly()
ideal idSubstPoly |
( |
ideal |
id, |
|
|
int |
n, |
|
|
poly |
e |
|
) |
| |
Definition at line 413 of file maps_ip.cc.
421 res->
rank =
id->rank;
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
matrix mpNew(int r, int c)
create a r x c zero-matrix
ideal id_SubstPoly(ideal id, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap)
#define pCopy(p)
return a copy of the poly
◆ maCopy()
Definition at line 32 of file maps.cc.
36 for (i=
IDELEMS(theMap)-1; i>=0; i--)
37 m->m[i] =
p_Copy(theMap->m[i],r);
38 m->preimage=
omStrDup(theMap->preimage);
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
static poly p_Copy(poly p, const ring r)
returns a copy of p
ideal idInit(int idsize, int rank)
initialise an ideal / module
◆ maEval()
poly maEval |
( |
map |
theMap, |
|
|
poly |
p, |
|
|
ring |
preimage_r, |
|
|
nMapFunc |
nMap, |
|
|
ideal |
s, |
|
|
const ring |
dst_r |
|
) |
| |
Definition at line 115 of file maps.cc.
136 monoms = (poly*)
omAlloc(l*
sizeof(poly));
147 for(i = l-1; i>=0; i--)
149 result=
p_Add_q(result, monoms[i], dst_r);
const CanonicalForm int s
#define omFreeSize(addr, size)
static FORCE_INLINE BOOLEAN nCoeff_is_algExt(const coeffs r)
TRUE iff r represents an algebraic extension field.
static unsigned pLength(poly a)
poly p_MinPolyNormalize(poly p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)
static poly maEvalMonom(map theMap, poly p, ring preimage_r, ideal s, nMapFunc nMap, const ring dst_r)
◆ maEvalVariable()
poly maEvalVariable |
( |
poly |
p, |
|
|
int |
v, |
|
|
int |
pExp, |
|
|
ideal |
s, |
|
|
const ring |
dst_r |
|
) |
| |
Definition at line 46 of file maps.cc.
const CanonicalForm int s
static poly p_Copy(poly p, const ring r)
returns a copy of p
static poly pp_Mult_qq(poly p, poly q, const ring r)
void p_Normalize(poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
poly p_Power(poly p, int i, const ring r)
#define MATELEM(mat, i, j)
1-based access to matrix
◆ maFindPerm()
void maFindPerm |
( |
char const *const *const |
preim_names, |
|
|
int |
preim_n, |
|
|
char const *const *const |
preim_par, |
|
|
int |
preim_p, |
|
|
char const *const *const |
names, |
|
|
int |
n, |
|
|
char const *const *const |
par, |
|
|
int |
nop, |
|
|
int * |
perm, |
|
|
int * |
par_perm, |
|
|
n_coeffType |
ch |
|
) |
| |
Definition at line 163 of file maps.cc.
169 for (i=0; i<preim_n; i++)
173 if (strcmp(preim_names[i],names[j])==0)
176 Print(
"// var %s: nr %d -> nr %d\n",preim_names[i],i+1,j+1);
182 if ((perm[i+1]==0)&&(par!=
NULL)
188 if (strcmp(preim_names[i],par[j])==0)
191 Print(
"// var %s: nr %d -> par %d\n",preim_names[i],i+1,j+1);
200 for (i=0; i<preim_p; i++)
204 if (strcmp(preim_par[i],names[j])==0)
207 Print(
"// par %s: par %d -> nr %d\n",preim_par[i],i+1,j+1);
213 if ((par!=
NULL) && (par_perm[
i]==0))
217 if (strcmp(preim_par[i],par[j])==0)
220 Print(
"// par %s: nr %d -> par %d\n",preim_par[i],i+1,j+1);
◆ maFindPermLP()
void maFindPermLP |
( |
char const *const *const |
preim_names, |
|
|
int |
preim_n, |
|
|
char const *const *const |
preim_par, |
|
|
int |
preim_p, |
|
|
char const *const *const |
names, |
|
|
int |
n, |
|
|
char const *const *const |
par, |
|
|
int |
nop, |
|
|
int * |
perm, |
|
|
int * |
par_perm, |
|
|
n_coeffType |
ch, |
|
|
int |
lV |
|
) |
| |
Definition at line 231 of file maps.cc.
237 for (b=0;b<preim_n/lV;b++)
239 for (i=b*lV; i<(b+1)*lV; i++)
244 if (strcmp(preim_names[i],names[j])==0)
249 Print(
"// var %s: nr %d -> nr %d\n",preim_names[i],i+1,j+1);
257 if ((perm[i+1]==0)&&(par!=
NULL)
263 if (strcmp(preim_names[i],par[j])==0)
266 Print(
"// var %s: nr %d -> par %d\n",preim_names[i],i+1,j+1);
276 for (i=0; i<preim_p; i++)
280 if (strcmp(preim_par[i],names[j])==0)
283 Print(
"// par %s: par %d -> nr %d\n",preim_par[i],i+1,j+1);
289 if ((par!=
NULL) && (par_perm[
i]==0))
293 if (strcmp(preim_par[i],par[j])==0)
296 Print(
"// par %s: nr %d -> par %d\n",preim_par[i],i+1,j+1);
◆ maIMap()
poly maIMap |
( |
ring |
src_ring, |
|
|
ring |
dst_ring, |
|
|
poly |
p |
|
) |
| |
◆ maMaxDeg_Ma()
int maMaxDeg_Ma |
( |
ideal |
a, |
|
|
ring |
preimage_r |
|
) |
| |
Definition at line 329 of file maps.cc.
332 int N = preimage_r->N;
348 goto max_deg_fertig_id;
#define omFreeSize(addr, size)
const CanonicalForm CFMap CFMap & N
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
static int si_max(const int a, const int b)
◆ maMaxDeg_P()
int maMaxDeg_P |
( |
poly |
p, |
|
|
ring |
preimage_r |
|
) |
| |
Definition at line 367 of file maps.cc.
370 int N = preimage_r->N;
382 goto max_deg_fertig_p;
#define omFreeSize(addr, size)
const CanonicalForm CFMap CFMap & N
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
static int si_max(const int a, const int b)
◆ p_MinPolyNormalize()
poly p_MinPolyNormalize |
( |
poly |
p, |
|
|
const ring |
r |
|
) |
| |
Definition at line 399 of file maps.cc.
402 number one =
n_Init(1, C);
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static number p_SetCoeff(poly p, number n, ring r)
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
The main handler for Singular numbers which are suitable for Singular polynomials.
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
static void p_LmDelete(poly p, const ring r)
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
◆ pSubstPoly()
poly pSubstPoly |
( |
poly |
p, |
|
|
int |
var, |
|
|
poly |
image |
|
) |
| |
Definition at line 397 of file maps_ip.cc.
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
poly p_SubstPoly(poly p, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap, matrix cache=NULL)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
#define pCopy(p)
return a copy of the poly