 |
My Project
UNKNOWN_GIT_VERSION
|
Go to the documentation of this file.
22 ideal J =
id_Copy(I,r);
bool b;
int k = 0;
28 ideal JquotM =
idQuot(Jstd,
M,
true,
true);
29 ideal JquotMredJ =
kNF(Jstd,
currRing->qideal,JquotM);
68 rGraded->block0 = (
int*)
omAlloc0(3*
sizeof(
int));
69 rGraded->block1 = (
int*)
omAlloc0(3*
sizeof(
int));
70 rGraded->wvhdl = (
int**)
omAlloc0(3*
sizeof(
int**));
72 rGraded->block0[0] = 1;
73 rGraded->block1[0] = n;
84 for (
int i=0;
i<
k;
i++)
92 for (
int i=0;
i<
k;
i++)
97 poly monomial =
p_One(r);
111 int* cycleAllVariables = (
int*)
omAlloc0((n+1)*
sizeof(int));
112 for (
int i=1;
i<n;
i++)
113 cycleAllVariables[
i]=
i+1;
114 cycleAllVariables[n]=1;
116 int* maxPowers = (
int*)
omAlloc0((n+1)*
sizeof(int));
118 for(
int currentSaturationVariable=n-1; currentSaturationVariable>0; currentSaturationVariable--)
122 for (
int i=0;
i<
k;
i++)
133 if (d>maxPowers[currentSaturationVariable+1])
134 maxPowers[currentSaturationVariable+1]=d;
140 gfan::Integer cache =
w[n-1];
141 for (
int i=n-1;
i>0;
i--)
147 rGradedNew->block0 = (
int*)
omAlloc0(3*
sizeof(
int));
148 rGradedNew->block1 = (
int*)
omAlloc0(3*
sizeof(
int));
149 rGradedNew->wvhdl = (
int**)
omAlloc0(3*
sizeof(
int**));
151 rGradedNew->block0[0] = 1;
152 rGradedNew->block1[0] = n;
159 identity =
n_SetMap(rGraded->cf,rGradedNew->cf);
161 for (
int i=0;
i<
k;
i++)
162 Jold->m[
i] =
p_PermPoly(Jnew->m[
i],cycleAllVariables,rGraded,rGradedNew,identity,
NULL,0);
166 rGraded = rGradedNew;
177 for (
int i=0;
i<
k;
i++)
182 poly monomial =
p_One(r);
185 int jDeshifted = (
j-currentSaturationVariable)%n;
186 if (jDeshifted<=0) jDeshifted = jDeshifted+n;
193 omFree(cycleAllVariables);
207 omFree(cycleAllVariables);
220 I = (ideal) u->
CopyD();
226 I = (ideal) u->
Data();
242 ideal I = (ideal) u->
Data();
264 WerrorS(
"searchForMonomialViaStepwiseSaturation: unexpected parameters");
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
void rChangeCurrRing(ring r)
BOOLEAN id_IsConstant(ideal id, const ring r)
test if the ideal has only constant polynomials NOTE: zero ideal/module is also constant
ideal idQuot(ideal h1, ideal h2, BOOLEAN h1IsStb, BOOLEAN resultIsIdeal)
ideal gfanlib_monomialabortStd_wrapper(ideal I, ring r, tHomog h=testHomog)
BOOLEAN idIs0(ideal h)
returns true if h is the zero ideal
Class used for (list of) interpreter objects.
static long p_SubExp(poly p, int v, long ee, ring r)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
ring rCopy0(const ring r, BOOLEAN copy_qideal, BOOLEAN copy_ordering)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static short rVar(const ring r)
#define rVar(r) (r->N)
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar, BOOLEAN use_mult)
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
int * ZVectorToIntStar(const gfan::ZVector &v, bool &overflow)
BOOLEAN checkForMonomial(leftv res, leftv args)
static FORCE_INLINE number n_Init(long i, const coeffs r)
a number representing i in the given coeff field/ring r
static poly p_Init(const ring r, omBin bin)
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
void rDelete(ring r)
unconditionally deletes fields in r
static void p_Delete(poly *p, const ring r)
poly searchForMonomialViaStepwiseSaturation(const ideal I, const ring r, const gfan::ZVector w0)
ideal idInit(int idsize, int rank)
initialise an ideal / module
static number p_SetCoeff(poly p, number n, ring r)
void WerrorS(const char *s)
static void p_Setm(poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
poly checkForMonomialViaSuddenSaturation(const ideal I, const ring r)
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
gfan::ZVector * bigintmatToZVector(const bigintmat &bim)
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
bigintmat * iv2bim(intvec *b, const coeffs C)
static FORCE_INLINE BOOLEAN n_IsUnit(number n, const coeffs r)
TRUE iff n has a multiplicative inverse in the given coeff field/ring r.
BOOLEAN rComplete(ring r, int force)
this needs to be called whenever a new ring is created: new fields in ring are created (like VarOffse...