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 411 of file maps_ip.cc.
419 res->rank =
id->rank;
432 res->rank =
id->rank;
number ndCopyMap(number a, const coeffs src, const coeffs dst)
ideal id_SubstPoly(ideal id, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap)
matrix mpNew(int r, int c)
create a r x c zero-matrix
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
#define pCopy(p)
return a copy of the poly
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
static BOOLEAN rIsLPRing(const ring r)
◆ maCopy()
Definition at line 32 of file maps.cc.
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--)
static FORCE_INLINE BOOLEAN nCoeff_is_algExt(const coeffs r)
TRUE iff r represents an algebraic extension field.
const CanonicalForm int s
static poly maEvalMonom(map theMap, poly p, ring preimage_r, ideal s, nMapFunc nMap, const ring dst_r)
poly p_MinPolyNormalize(poly p, const ring r)
#define omFreeSize(addr, size)
static poly p_Add_q(poly p, poly q, const ring r)
static unsigned pLength(poly a)
◆ maEvalVariable()
poly maEvalVariable |
( |
poly |
p, |
|
|
int |
v, |
|
|
int |
pExp, |
|
|
ideal |
s, |
|
|
const ring |
dst_r |
|
) |
| |
Definition at line 46 of file maps.cc.
const Variable & v
< [in] a sqrfree bivariate poly
#define MATELEM(mat, i, j)
1-based access to matrix
poly p_Power(poly p, int i, const ring r)
void p_Normalize(poly p, const ring r)
static poly pp_Mult_qq(poly p, poly q, const ring r)
◆ 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;
static int si_max(const int a, const int b)
const CanonicalForm CFMap CFMap & N
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
◆ 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;
◆ 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_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
static FORCE_INLINE BOOLEAN n_IsZero(number n, const coeffs r)
TRUE iff 'n' represents the zero element.
static FORCE_INLINE void n_Delete(number *p, const coeffs r)
delete 'p'
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
The main handler for Singular numbers which are suitable for Singular polynomials.
static void p_LmDelete(poly p, const ring r)
static number p_SetCoeff(poly p, number n, ring r)
◆ pSubstPoly()
poly pSubstPoly |
( |
poly |
p, |
|
|
int |
var, |
|
|
poly |
image |
|
) |
| |
Definition at line 389 of file maps_ip.cc.
poly p_SubstPoly(poly p, int var, poly image, const ring preimage_r, const ring image_r, const nMapFunc nMap, matrix cache=NULL)