411 if (maxlength!=-1) *length = maxlength+1;
413 if ((wlength!=0) && (*length!=wlength))
416 wtmp[0]=(*weights)[0];
427 if (syz_ring != origR)
438 if ((weights!=
NULL) && (*weights!=
NULL)&& ((*weights)[0]!=
NULL))
442 WarnS(
"wrong weights given(1):"); (*weights)[0]->show();
PrintLn();
449 if ((weights==
NULL) || (*weights==
NULL) || ((*weights)[0]==
NULL))
460 if ((weights!=
NULL) && (*weights!=
NULL)&& ((*weights)[0]!=
NULL))
473 #endif // HAVE_PLURAL 485 setRegularity =
FALSE;
490 setRegularity =
FALSE;
495 ((maxlength==-1) || (syzIndex<=maxlength)))
500 if (syzIndex+1==*length)
504 for (
j=0;
j<*length;
j++)
507 if (*weights!=
NULL) tempW[
j] = (*weights)[
j];
523 if (minim || (syzIndex!=0))
528 res[syzIndex] = temp;
543 completeMinim=(syzIndex!=maxlength) || (maxlength ==-1) || (hom!=
isHomog);
549 if ((minim)||(syzIndex>1))
570 (*weights)[syzIndex] =
new intvec(
k);
600 for (
i=1;
i<=syzIndex;
i++)
608 if (origR != syz_ring)
611 for (
i=0;
i<=syzIndex;
i++)
#define TEST_OPT_NOTREGULARITY
#define TEST_OPT_DEGBOUND
#define idDelete(H)
delete an ideal
BOOLEAN idTestHomModule(ideal m, ideal Q, intvec *w)
static int rGetCurrSyzLimit(const ring r)
#define omFreeSize(addr, size)
intvec * ivCopy(const intvec *o)
#define pGetComp(p)
Component.
static BOOLEAN idHomModule(ideal m, ideal Q, intvec **w)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void id_Shift(ideal M, int s, const ring r)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
#define TEST_OPT_NO_SYZ_MINIM
static long pTotaldegree(poly p)
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
int rGetMaxSyzComp(int i, const ring r)
return the max-comonent wchich has syzIndex i Assume: i<= syzIndex_limit
ring rAssure_SyzComp(const ring r, BOOLEAN complete)
static long p_FDeg(const poly p, const ring r)
static int si_max(const int a, const int b)
ideal kInterRedOld(ideal F, ideal Q)
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
void rSetSyzComp(int k, const ring r)
void rChangeCurrRing(ring r)
ideal idSyzygies(ideal h1, tHomog h, intvec **w, BOOLEAN setSyzComp, BOOLEAN setRegularity, int *deg, GbVariant alg)
static void syMinStep(ideal mod, ideal syz, BOOLEAN final=FALSE, ideal up=NULL, tHomog h=isNotHomog)
static BOOLEAN rField_is_Ring(const ring r)
void rDelete(ring r)
unconditionally deletes fields in r
static bool rIsSCA(const ring r)
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
#define SI_RESTORE_OPT1(A)
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
static intvec * syPrepareModComp(ideal arg, intvec **w)
ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)