505 while ((Fl!=0) && (arg->m[Fl-1]==
NULL)) Fl--;
507 int i,
j,
l,
k,kkk,Sl=0,syComponentOrder=
currRing->ComponentOrder;
508 int wend,lini,ltR,gencQ=0;
512 poly q,toRed,syz,lastmonom,multWith;
521 if (modcomp!=
NULL) (*modcomp)->show(0,0);
524 newmodcomp =
new intvec(Fl+2);
535 Flength = (
int*)
omAlloc0(Fl*
sizeof(
int));
542 (*newmodcomp)[
j+1] = Sl;
549 if (syComponentOrder==1)
562 for (
k=lini;
k<wend;
k++)
581 lastmonom =
pNext(syz);
583 lastmonom->coef = bn;
584 lastmonom->coef =
nInpNeg(lastmonom->coef);
591 syz->coef =
nInpNeg(syz->coef);
636 printf(
"toRed in Pair[%d, %d]:",
j,
k);
648 printf(
"toRed in Pair[%d, %d]:",
j,
k);
653 isNotReduced =
FALSE;
669 WerrorS(
"ideal not a standard basis");
684 lastmonom->coef =
nDiv(lastmonom->coef,F[
l]->coef);
716 (*newmodcomp)[
j+2] = Sl;
717 (*Shdl)[Sl] =
syRedtail2(syz,*Shdl,newmodcomp);
718 (*newmodcomp)[
j+2] = 0;
728 (*newmodcomp)[Fl+1] = Sl;
735 *modcomp = newmodcomp;
KINLINE poly ksOldCreateSpoly(poly p1, poly p2, poly spNoether, ring r)
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
void kBucketDestroy(kBucket_pt *bucket_pt)
void kBucketInit(kBucket_pt bucket, poly lm, int length)
kBucket_pt kBucketCreate(const ring bucket_ring)
Creation/Destruction of buckets.
number kBucketPolyRed(kBucket_pt bucket, poly p1, int l1, poly spNoether)
const poly kBucketGetLm(kBucket_pt bucket)
int ksCheckCoeff(number *a, number *b)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
void pEnlargeSet(poly **p, int l, int increment)
static unsigned pLength(poly a)
#define __p_Mult_nn(p, n, r)
void pNorm(poly p, const ring R=currRing)
#define pCopy(p)
return a copy of the poly
ideal idInit(int idsize, int rank)
initialise an ideal / module
static void syCreatePairs(polyset F, int lini, int wend, int k, int j, int i, polyset pairs, int regularPairs=0, ideal mW=NULL)
poly sySpecNormalize(poly toNorm, ideal mW=NULL)
static poly syRedtail2(poly p, polyset redWith, intvec *modcomp)