63 (**modcomp)[
rkF+1] =
Fl;
196 if (arg->m[
j] !=
NULL)
261 (*newmodcomp)[
j+1] =
Sl;
364 WerrorS(
"ideal not a standard basis");
439 (*newmodcomp)[
Fl+1] =
Sl;
541 (*newmodcomp)[
j+1] =
Sl;
590 syz->coef =
nInpNeg(syz->coef);
635 printf(
"toRed in Pair[%d, %d]:",
j,
k);
647 printf(
"toRed in Pair[%d, %d]:",
j,
k);
668 WerrorS(
"ideal not a standard basis");
715 (*newmodcomp)[
j+2] =
Sl;
717 (*newmodcomp)[
j+2] = 0;
727 (*newmodcomp)[
Fl+1] =
Sl;
763 PrintS(
"error in the resolvent\n");
847 Print(
"Syz(%d): \n",start);
868 WerrorS(
"sres only implemented for modules with ordering ..,c or ..,C");
1028 for (
int i=
rl -1;
i>=0;
i--)
1039 for (
int i=0;
i<
rl;
i++)
void WerrorS(const char *s)
template CanonicalForm tmax(const CanonicalForm &, const CanonicalForm &)
#define idDelete(H)
delete an ideal
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
static BOOLEAN idHomModule(ideal m, ideal Q, intvec **w)
poly initial(const poly p, const ring r, const gfan::ZVector &w)
Returns the initial form of p with respect to w.
static BOOLEAN length(leftv result, leftv arg)
intvec * ivCopy(const intvec *o)
KINLINE poly ksOldCreateSpoly(poly p1, poly p2, poly spNoether, ring r)
KINLINE poly ksOldSpolyRed(poly p1, poly p2, poly spNoether)
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
void kBucketDestroy(kBucket_pt *bucket_pt)
void kBucketInit(kBucket_pt bucket, poly lm, int length)
int ksCheckCoeff(number *a, number *b, const coeffs r)
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)
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
#define omFreeSize(addr, size)
void pEnlargeSet(poly **p, int l, int increment)
static int pLength(poly a)
static long p_FDeg(const poly p, const ring r)
static long p_LDeg(const poly p, int *l, const ring r)
#define __p_Mult_nn(p, n, r)
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 pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL
#define pDeleteComp(p, k)
#define pGetComp(p)
Component.
#define pCmp(p1, p2)
pCmp: args may be NULL returns: (p2==NULL ? 1 : (p1 == NULL ? -1 : p_LmCmp(p1, p2)))
#define pGetExp(p, i)
Exponent.
#define pSetmComp(p)
TODO:
#define pDivisibleBy(a, b)
returns TRUE, if leading monom of a divides leading monom of b i.e., if there exists a expvector c > ...
#define pLmCmp(p, q)
returns 0|1|-1 if p=q|p>q|p<q w.r.t monomial ordering
#define pCopy(p)
return a copy of the poly
#define pSortCompCorrect(p)
Assume: If considered only as poly in any component of p (say, monomials of other components of p are...
#define pLmDivisibleByNoComp(a, b)
like pLmDivisibleBy, does not check components
poly prMoveR(poly &p, ring src_r, ring dest_r)
void PrintS(const char *s)
BOOLEAN rRing_has_CompLastBlock(const ring r)
int rGetMaxSyzComp(int i, const ring r)
return the max-comonent wchich has syzIndex i Assume: i<= syzIndex_limit
ring rAssure_SyzComp_CompLastBlock(const ring r)
makes sure that c/C ordering is last ordering and SyzIndex is first
void rDelete(ring r)
unconditionally deletes fields in r
ring rAssure_CompLastBlock(ring r, BOOLEAN complete)
makes sure that c/C ordering is last ordering
void rSetSyzComp(int k, const ring r)
static BOOLEAN rHasLocalOrMixedOrdering(const ring r)
static BOOLEAN rHasGlobalOrdering(const ring r)
ideal idInit(int idsize, int rank)
initialise an ideal / module
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
void id_Shift(ideal M, int s, const ring r)
resolvente sySchreyerResolvente(ideal arg, int maxlength, int *length, BOOLEAN isMonomial, BOOLEAN)
static ideal sySchreyersSyzygiesFB(ideal arg, intvec **modcomp, ideal mW, BOOLEAN redTail=TRUE)
syStrategy sySchreyer(ideal arg, int maxlength)
static void syCreatePairs(polyset F, int lini, int wend, int k, int j, int i, polyset pairs, int regularPairs=0, ideal mW=NULL)
static void syInitSort(ideal arg, intvec **modcomp)
poly sySpecNormalize(poly toNorm, ideal mW=NULL)
static ideal sySchreyersSyzygiesFM(ideal arg, intvec **modcomp)
static poly syRedtail2(poly p, polyset redWith, intvec *modcomp)
void syReOrderResolventFB(resolvente res, int length, int initial)
BOOLEAN syTestOrder(ideal M)