Go to the source code of this file.
§ find_perm_for_map()
static int* find_perm_for_map |
( |
const ring |
preimage_r, |
|
|
const ring |
image_r, |
|
|
const ideal |
image |
|
) |
| |
|
static |
Definition at line 20 of file find_perm.cc.
23 int *
perm=(
int *)
omAlloc0((preimage_r->N+1)*
sizeof(int));
26 if (image->m[i]!=
NULL)
34 omFreeSize(perm,(preimage_r->N+1)*
sizeof(
int));
39 if (
p_GetExp(image->m[i],v,image_r)==1)
45 omFreeSize(perm,(preimage_r->N+1)*
sizeof(
int));
52 omFreeSize(perm,(preimage_r->N+1)*
sizeof(
int));
static int si_min(const int a, const int b)
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
#define omFreeSize(addr, size)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
int p_IsUnivariate(poly p, const ring r)
return i, if poly depends only on var(i)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
const Variable & v
< [in] a sqrfree bivariate poly
§ ma_ApplyPermForMap()
helper function for maMapIdeal mapping ideal/matrix/module for the case of a permutation: maps the ideal/module/matrix to_map via the map from preimage_r with image image and mapping of coefficients via nMap (or return NULL)
Definition at line 70 of file find_perm.cc.
73 if ((
rPar(preimage_r)>0)||(
rPar(image_r)>0))
return NULL;
79 for (
int i=R*C-1;
i>=0;
i--)
88 ii->
rank=((ideal)to_map)->rank;
89 omFreeSize(perm,(preimage_r->N+1)*
sizeof(
int));
static int rPar(const ring r)
(r->cf->P)
#define omFreeSize(addr, size)
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)
matrix mpNew(int r, int c)
create a r x c zero-matrix
static int * find_perm_for_map(const ring preimage_r, const ring image_r, const ideal image)