1#define PLURAL_INTERNAL_DECLARATIONS
28 const int s = idElem(J);
30 for(
int i = 0;
i <
s;
i++)
32 const poly
p = J->m[
i];
42 for (
int j = 1;
j <= rN;
j++)
68 Print(
"Reducing q[j = %d]: ",
j);
98 PrintS(
"NF(J/currRing->qideal)=> q: ");
165 int iSize = idElem(J);
203 PrintS(
"ideals of diff. size!!!");
210 ideal
res =
idInit(2*idElem(t),1+idElem(t));
242 res->rank = 1+idElem(
T);
251 int flag, flagcnt=0, syzcnt=0;
257 ideal trickyQuotient;
265 poly *var = (poly *)
omAlloc0((
N+1)*
sizeof(poly));
272 ideal h2, s_h2, s_h3;
275 for (
i=1;
i<=
N;
i++ )
283 for (
i=1;
i<=
N;
i++ )
287 for (
j=0;
j< idI;
j++ )
314 if (orig_ring != syz_ring)
330 Print(
".proceeding with the variable %d\n",
i);
339 PrintS(
"...computing Syz");
343 if (orig_ring != syz_ring)
348 if (s_h3->m[
j] !=
NULL)
350 if (p_MinComp(s_h3->m[
j],syz_ring) > syzcomp)
357 s_h3->rank -= syzcomp;
375 PrintS(
"the input is a two--sided ideal");
380 Print(
"..computing Intersect of %d modules\n",syzcnt);
391 for (
j=0;
j< idElem(I);
j++)
const CanonicalForm CFMap CFMap & N
const CanonicalForm int s
ideal idMultSect(resolvente arg, int length, GbVariant alg)
#define idDelete(H)
delete an ideal
#define idSimpleAdd(A, B)
ideal kStd2(ideal F, ideal Q, tHomog h, intvec **w, bigintmat *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
generic interface to GB/SB computations, large hilbert vectors
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
#define MATELEM(mat, i, j)
1-based access to matrix
ideal Approx_Step(ideal L)
Ann: ???
static ideal idPrepareStd(ideal T, ideal s, int k)
ideal twostd(ideal I)
Compute two-sided GB:
#define SI_RESTORE_OPT1(A)
void p_Shift(poly *p, int i, const ring r)
shifts components of the vector p by i
void p_Write(poly p, ring lmRing, ring tailRing)
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).
#define pSetmComp(p)
TODO:
#define pCopy(p)
return a copy of the poly
ideal idrMoveR_NoSort(ideal &id, ring src_r, ring dest_r)
ideal idrCopyR_NoSort(ideal id, ring src_r, ring dest_r)
void PrintS(const char *s)
ring rAssure_SyzComp(const ring r, BOOLEAN complete)
void rDelete(ring r)
unconditionally deletes fields in r
void rSetSyzComp(int k, const ring r)
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
matrix id_Module2Matrix(ideal mod, const ring R)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
ideal id_SimpleMove(ideal h1, ideal h2, const ring R)
concat the lists h1 and h2 without zeros, destroys h1,h2