 |
My Project
UNKNOWN_GIT_VERSION
|
Go to the documentation of this file.
54 if( id->rank != 1 )
return TRUE;
60 for (
int j=0;
j<
l;
j++)
84 const char *usage =
"'ClearContent' needs a (non-zero!) poly or vector argument...";
102 poly ph =
reinterpret_cast<poly
>(
h->Data());
130 const char *usage =
"'ClearDenominators' needs a (non-zero!) poly or vector argument...";
148 poly ph =
reinterpret_cast<poly
>(
h->Data());
178 int n = (int)(
long)(
h->Data());
181 Warn(
"Negative (%d) optional integer argument", n);
200 Print (
"intvec: {rows: %d, cols: %d, length: %d, Values: \n",
v->rows(),
v->cols(),
v->length());
202 for (
int i = 0;
i <
v->rows();
i++)
205 for (
int j = 0;
j <
v->cols();
j++)
206 Print (
" %5d", (*
v)[
j +
i * (
v->cols())] );
223 WarnS(
"Tail needs a poly/vector/ideal/module argument...");
233 res->data =
p_Tail( (
const poly)
h->Data(), r );
234 res->rtyp =
h->Typ();
244 res->rtyp =
h->Typ();
251 WarnS(
"Tail needs a single poly/vector/ideal/module argument...");
262 const poly
p = (poly)(
h->Data());
273 res->data =
reinterpret_cast<void *
>(
jjLONG2N(iComp));
283 WerrorS(
"`leadcomp(<poly/vector>)` expected");
293 const int s = (int)((
long)(
h->Data()));
295 if(
s != -1 &&
s != 1 )
297 WerrorS(
"`MakeInducedSchreyerOrdering(<int>)` called with wrong integer argument (must be +-1)!");
321 p = (int)((
long)(
h->Data()));
h=
h->next;
329 WerrorS(
"`GetInducedData([int])` called on incompatible ring (not created by 'MakeInducedSchreyerOrdering'!)");
334 const int iLimit = r->typ[pos].data.is.limit;
335 const ideal F = r->typ[pos].data.is.F;
343 l->m[0].data =
reinterpret_cast<void *
>(iLimit);
359 l->m[1].data =
reinterpret_cast<void *
>(FF);
362 res->data =
reinterpret_cast<void *
>(
l);
378 WerrorS(
"`SetInducedReferrence(<ideal/module>, [int[, int]])` expected");
382 const ideal F = (ideal)
h->Data(); ;
389 rank = (int)((
long)(
h->Data()));
h=
h->next;
398 p = (int)((
long)(
h->Data()));
h=
h->next;
406 WerrorS(
"`SetInducedReferrence(<ideal/module>, [int[, int]])` called on incompatible ring (not created by 'MakeInducedSchreyerOrdering'!)");
429 WerrorS(
"`idPrepare(<module>)` expected");
433 const ideal I =
reinterpret_cast<ideal
>(
h->Data());
443 iComp = (int)((
long)(
h->Data()));
447 if( (!isSyz) && (-1 == posIS) )
449 WerrorS(
"`idPrepare(<...>)` called on incompatible ring (not created by 'MakeSyzCompOrdering' or 'MakeInducedSchreyerOrdering'!)");
504 res->data =
reinterpret_cast<void *
>(J);
512 psModulFunctions->iiAddCproc((currPack->libname? currPack->libname: ""), (char*)C, D, E);
static void NoReturn(leftv &res)
static BOOLEAN SetInducedReferrence(leftv res, leftv h)
Returns old SyzCompLimit, can set new limit.
static BOOLEAN MakeInducedSchreyerOrdering(leftv res, leftv h)
Same for Induced Schreyer ordering (ordering on components is defined by sign!)
static BOOLEAN leadcomp(leftv res, leftv h)
Get leading component.
Compatiblity layer for legacy polynomial operations (over currRing)
static BOOLEAN idPrepare(leftv res, leftv h)
Get raw syzygies (idPrepare)
Class used for (list of) interpreter objects.
BOOLEAN rSetISReference(const ring r, const ideal F, const int i, const int p)
Changes r by setting induced ordering parameters: limit and reference leading terms F belong to r,...
static BOOLEAN Tail(leftv res, leftv h)
wrapper around p_Tail and id_Tail
This is a polynomial enumerator for simple iteration over coefficients of polynomials.
static int rGetCurrSyzLimit(const ring r)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
intvec * ivCopy(const intvec *o)
long id_RankFreeModule(ideal s, ring lmRing, ring tailRing)
return the maximal component number found in any polynomial in s
void PrintS(const char *s)
static BOOLEAN GetInducedData(leftv res, leftv h)
?
The main handler for Singular numbers which are suitable for Singular polynomials.
void atSet(idhdl root, char *name, void *data, int typ)
static number jjLONG2N(long d)
static int getOptionalInteger(const leftv &h, const int _n)
try to get an optional (simple) integer argument out of h or return the default value
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
int SI_MOD_INIT() syzextra(SModulFunctions *psModulFunctions)
Concrete implementation of enumerators over polynomials.
ring rAssure_InducedSchreyerOrdering(const ring r, BOOLEAN complete, int sgn)
static BOOLEAN _ClearDenominators(leftv res, leftv h)
wrapper around n_ClearDenominators
static BOOLEAN id_IsModule(ideal id, ring r)
test whether this input has vectors among entries or no enties result must be FALSE for only 0-entrie...
static BOOLEAN _ClearContent(leftv res, leftv h)
wrapper around n_ClearContent
static FORCE_INLINE void n_ClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs r)
Computes the content and (inplace) divides it out on a collection of numbers number c is the content ...
static FORCE_INLINE void n_ClearDenominators(ICoeffsEnumerator &numberCollectionEnumerator, number &d, const coeffs r)
(inplace) Clears denominators on a collection of numbers number d is the LCM of all the coefficient d...
#define rRing_has_Comp(r)
void * atGet(idhdl root, const char *name, int t, void *defaultReturnValue)
void WerrorS(const char *s)
const Variable & v
< [in] a sqrfree bivariate poly
const CanonicalForm int s
static BOOLEAN rIsSyzIndexRing(const ring r)
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
ideal id_Copy(ideal h1, const ring r)
copy an ideal
static void view(const intvec *v)
int rGetISPos(const int p, const ring r)
Finds p^th IS ordering, and returns its position in r->typ[] returns -1 if something went wrong!...
Coefficient rings, fields and other domains suitable for Singular polynomials.