34 for (
i=minvar;
i<=maxvar;
i++)
59 ring sourcering = dst_r;
66 WerrorS(
"Sorry, not yet implemented for noncomm. rings");
77 int imagepvariables =
rVar(theImageRing);
78 int N =
rVar(dst_r)+imagepvariables;
83 WerrorS(
"error in rSumInternal");
87 if (theImageRing->cf != dst_r->cf)
90 WerrorS(
"Coefficient fields/rings must be equal");
101 if (theImageRing->qideal!=
NULL)
j+=
IDELEMS(theImageRing->qideal);
102 temp1 =
idInit(sourcering->N+
j,1);
103 for (
i=0;
i<sourcering->N;
i++)
122 for (
i=sourcering->N;i<sourcering->
N+j0;
i++)
128 for (
i=sourcering->N+j0;i<sourcering->
N+
j;
i++)
131 pChangeSizeOfPoly(theImageRing, theImageRing->qideal->m[
i-sourcering->N-j0], 1, imagepvariables, tmpR),
const CanonicalForm CFMap CFMap & N
CanonicalForm map(const CanonicalForm &primElem, const Variable &alpha, const CanonicalForm &F, const Variable &beta)
map from to such that is mapped onto
static FORCE_INLINE number n_Copy(number n, const coeffs r)
return a copy of 'n'
void WerrorS(const char *s)
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
static nc_type & ncRingType(nc_struct *p)
#define p_SetCoeff0(p, n, r)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
int p_LowVar(poly p, const ring r)
the minimal index of used variables - 1
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
void pEnlargeSet(poly **p, int l, int increment)
static poly p_Add_q(poly p, poly q, const ring r)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
static void p_Setm(poly p, const ring r)
static poly p_SortMerge(poly p, const ring r, BOOLEAN revert=FALSE)
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
static void p_Delete(poly *p, const ring r)
static poly p_Init(const ring r, omBin bin)
void rChangeCurrRing(ring r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Compatibility layer for legacy polynomial operations (over currRing)
ideal maGetPreimage(ring theImageRing, map theMap, ideal id, const ring dst_r)
static poly pChangeSizeOfPoly(ring p_ring, poly p, int minvar, int maxvar, const ring dst_r)
void rDelete(ring r)
unconditionally deletes fields in r
int rSumInternal(ring r1, ring r2, ring &sum, BOOLEAN vartest, BOOLEAN dp_dp)
returns -1 for not compatible, 1 for compatible (and sum) dp_dp:0: block ordering,...
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
static short rVar(const ring r)
#define rVar(r) (r->N)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size