258 int flag, flagcnt=0, syzcnt=0;
264 ideal trickyQuotient;
279 ideal h2, s_h2, s_h3;
282 for (i=1; i<=
N; i++ )
290 for (i=1; i<=
N; i++ )
294 for (j=0; j< idI; j++ )
321 if (orig_ring != syz_ring)
337 Print(
".proceeding with the variable %d\n",i);
346 Print(
"...computing Syz");
350 if (orig_ring != syz_ring)
353 for (j=0; j<
IDELEMS(s_h3); j++)
355 if (s_h3->m[j] !=
NULL)
357 if (
p_MinComp(s_h3->m[j],syz_ring) > syzcomp)
364 s_h3->rank -= syzcomp;
382 Print(
"the input is a two--sided ideal");
387 Print(
"..computing Intersect of %d modules\n",syzcnt);
395 for (i=1; i<=
MATCOLS(MI); i++)
398 for (j=0; j<
idElem(I); j++)
416 Print(
"No syzygies");
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw)
#define idSimpleAdd(A, B)
static poly pp_Mult_mm(poly p, poly m, const ring r)
ideal idMultSect(resolvente arg, int length)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
const CanonicalForm CFMap CFMap & N
ring rAssure_SyzComp(const ring r, BOOLEAN complete)
static ideal idPrepareStd(ideal T, ideal s, int k)
void idDelete(ideal *h, ring r=currRing)
delete an ideal
static long p_MinComp(poly p, ring lmRing, ring tailRing)
matrix id_Module2Matrix(ideal mod, const ring R)
void idSkipZeroes(ideal ide)
void rSetSyzComp(int k, const ring r)
void rChangeCurrRing(ring r)
void p_Shift(poly *p, int i, const ring r)
shifts components of the vector p by i
ideal idInit(int idsize, int rank)
void rDelete(ring r)
unconditionally deletes fields in r
ideal idCopy(ideal A, const ring R=currRing)
int idElem(const ideal F)
number of non-zero polys in F
#define SI_RESTORE_OPT1(A)
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)
#define pCopy(p)
return a copy of the poly
#define MATELEM(mat, i, j)