Go to the source code of this file.
|
int | tdeg (poly p) |
|
int | getMaxTdeg (ideal I) |
|
int | getMaxPosOfNthRow (intvec *v, int n) |
|
int64 | getInvEps64 (ideal G, intvec *targm, int pertdeg) |
|
int | invEpsOk64 (ideal I, intvec *targm, int pertdeg, int64 inveps64) |
|
intvec * | getNthRow (intvec *v, int n) |
|
int64vec * | getNthRow64 (intvec *v, int n) |
|
void | getTaun64 (ideal G, intvec *targm, int pertdeg, int64vec **v64, int64 &i64) |
|
static int64 | scalarProduct64 (int64vec *a, int64vec *b) |
|
ideal | init64 (ideal G, int64vec *currw64) |
|
BOOLEAN | currwOnBorder64 (ideal G, int64vec *currw64) |
|
BOOLEAN | noPolysWithMoreThanTwoTerms (ideal Gw) |
|
int | DIFFspy (ideal G) |
|
intvec * | DIFF (ideal G) |
|
void | gett64 (intvec *listw, int64vec *currw64, int64vec *targw64, int64 &tvec0, int64 &tvec1) |
|
void | nextt64 (ideal G, int64vec *currw64, int64vec *targw64, int64 &tvec0, int64 &tvec1) |
|
int64vec * | nextw64 (int64vec *currw, int64vec *targw, int64 nexttvec0, int64 nexttvec1) |
|
poly | getNthPolyOfId (ideal I, int n) |
|
intvec * | leadExp (poly p) |
|
int64vec * | leadExp64 (poly p) |
|
static long | scalarProduct (intvec *a, intvec *b) |
|
int | gcd (int a, int b) |
|
int64 | gcd64 (int64 a, int64 b) |
|
ideal | idStd (ideal G) |
|
ideal | idInterRed (ideal G) |
|
matrix | matIdLift (ideal Gomega, ideal M) |
|
void | rCopyAndChangeA (int64vec *w) |
|
int64vec * | rGetGlobalOrderMatrix (ring r) |
|
int64vec * | rGetGlobalOrderWeightVec (ring r) |
|
ideal | sortRedSB (ideal G) |
|
intvec * | int64VecToIntVec (int64vec *source) |
|
◆ currwOnBorder64()
Definition at line 350 of file walkSupport.cc.
355 for(
int i=length;
i>0;
i--)
#define idDelete(H)
delete an ideal
ideal init64(ideal G, int64vec *currw64)
static BOOLEAN length(leftv result, leftv arg)
poly getNthPolyOfId(ideal I, int n)
◆ DIFF()
Definition at line 435 of file walkSupport.cc.
const CanonicalForm int s
static short rVar(const ring r)
#define rVar(r) (r->N)
intvec * ivSub(intvec *a, intvec *b)
const Variable & v
< [in] a sqrfree bivariate poly
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
poly getNthPolyOfId(ideal I, int n)
#define IMATELEM(M, I, J)
◆ DIFFspy()
Definition at line 407 of file walkSupport.cc.
417 if((temp=
pLength(p))>0) {sum += (temp-1);}
const CanonicalForm int s
static unsigned pLength(poly a)
poly getNthPolyOfId(ideal I, int n)
◆ gcd()
◆ gcd64()
◆ getInvEps64()
int64 getInvEps64 |
( |
ideal |
G, |
|
|
intvec * |
targm, |
|
|
int |
pertdeg |
|
) |
| |
Definition at line 109 of file walkSupport.cc.
115 for (n=pertdeg; n>1; n--)
123 if( sum64!=0 && (((inveps64-1)/sum64)!=
getMaxTdeg(
G)) )
int getMaxPosOfNthRow(intvec *v, int n)
◆ getMaxPosOfNthRow()
int getMaxPosOfNthRow |
( |
intvec * |
v, |
|
|
int |
n |
|
) |
| |
Definition at line 80 of file walkSupport.cc.
88 for (
int i=c-1;
i>=0;
i--)
90 int temp=
abs((*v)[
i+cc ]);
91 if(temp>res){res=temp;}
Rational abs(const Rational &a)
◆ getMaxTdeg()
int getMaxTdeg |
( |
ideal |
I | ) |
|
Definition at line 54 of file walkSupport.cc.
58 for(
int j=length-1;
j>=0;
j--)
63 if(temp>res) {res=temp;}
static long pTotaldegree(poly p)
static BOOLEAN length(leftv result, leftv arg)
◆ getNthPolyOfId()
poly getNthPolyOfId |
( |
ideal |
I, |
|
|
int |
n |
|
) |
| |
◆ getNthRow()
◆ getNthRow64()
◆ gett64()
Definition at line 481 of file walkSupport.cc.
487 int64 temp1,temp2,temp3,temp4;
492 temp1=((
int64)((*listw)[j-1]));
493 temp2=((*currw64)[j-1]);
495 zaehler64=temp3-temp4;
500 if( ( temp3<0 && temp4>0 ) || ( temp3>0 && temp4<0 ) )
507 temp1=((*targw64)[j-1])-((*currw64)[j-1]);
510 temp2=((
int64)((*listw)[j-1]));
513 nenner64=temp3+temp4;
518 if( (temp3>0 && temp4>0) ||
519 (temp3<0 && temp4<0) )
522 if( (abs_t3+
abs64(temp4))<abs_t3 )
535 if ( (zaehler64<=0) && (nenner64<0) )
537 zaehler64=-zaehler64;
const CanonicalForm int s
int64 gcd64(int64 a, int64 b)
◆ getTaun64()
Definition at line 209 of file walkSupport.cc.
218 for (n=2; n<=pertdeg; n++)
226 if((*temp64)[
i]!=0 && (((*taun64)[
i])/((*temp64)[
i]))!=inveps64)
236 if( ( ((*temp64)[
i]) > 0 ) && ( ((*add64)[
i]) > 0 ) )
238 if( ((*taun64)[
i]) < ((*temp64)[
i]) )
241 if( ( ((*temp64)[
i]) < 0 ) && ( ((*add64)[
i]) < 0 ) )
243 if( ((*taun64)[
i]) > ((*temp64)[
i]) )
int64vec * iv64Copy(int64vec *o)
int64vec * iv64Add(int64vec *a, int64vec *b)
static short rVar(const ring r)
#define rVar(r) (r->N)
int64vec * getNthRow64(intvec *v, int n)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
int64 getInvEps64(ideal G, intvec *targm, int pertdeg)
◆ idInterRed()
ideal idInterRed |
( |
ideal |
G | ) |
|
Definition at line 958 of file walkSupport.cc.
#define idDelete(H)
delete an ideal
ideal kInterRedOld(ideal F, ideal Q)
◆ idStd()
Definition at line 938 of file walkSupport.cc.
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, intvec *hilb, int syzComp, int newIdeal, intvec *vw, s_poly_proc_t sp)
void idSkipZeroes(ideal ide)
gives an ideal/module the minimal possible size
◆ init64()
ideal init64 |
( |
ideal |
G, |
|
|
int64vec * |
currw64 |
|
) |
| |
Definition at line 299 of file walkSupport.cc.
302 ideal I=
idInit(length,
G->rank);
304 int64 leadingweight,templeadingweight;
318 if(templeadingweight==leadingweight)
322 if(templeadingweight>leadingweight)
326 leadingweight=templeadingweight;
int64vec * leadExp64(poly p)
#define pHead(p)
returns newly allocated copy of Lm(p), coef is copied, next=NULL, p might be NULL ...
ideal idInit(int idsize, int rank)
initialise an ideal / module
static BOOLEAN length(leftv result, leftv arg)
static int64 scalarProduct64(int64vec *a, int64vec *b)
poly getNthPolyOfId(ideal I, int n)
◆ int64VecToIntVec()
Definition at line 1181 of file walkSupport.cc.
1183 int r=source->
rows();
1184 int c=source->
cols();
1186 for(
int i=0;
i<r;
i++){
1187 for(
int j=0;
j<c;
j++){
1188 (*res)[
i*c+
j]=(int)(*source)[
i*c+
j];
◆ invEpsOk64()
int invEpsOk64 |
( |
ideal |
I, |
|
|
intvec * |
targm, |
|
|
int |
pertdeg, |
|
|
int64 |
inveps64 |
|
) |
| |
Definition at line 141 of file walkSupport.cc.
144 if (inveps64>=temp64)
int64 getInvEps64(ideal G, intvec *targm, int pertdeg)
◆ leadExp()
Definition at line 746 of file walkSupport.cc.
749 int *e=(
int*)
omAlloc((N+1)*
sizeof(int));
752 for(
int i=N;
i>0;
i--) { (*iv)[
i-1]=e[
i];}
static void p_GetExpV(poly p, int *ev, const ring r)
static short rVar(const ring r)
#define rVar(r) (r->N)
const CanonicalForm CFMap CFMap & N
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
◆ leadExp64()
Definition at line 769 of file walkSupport.cc.
772 int *e=(
int*)
omAlloc((N+1)*
sizeof(int));
775 for(
int i=N;
i>0;
i--) { (*iv64)[
i-1]=(
int64)e[
i];}
static void p_GetExpV(poly p, int *ev, const ring r)
static short rVar(const ring r)
#define rVar(r) (r->N)
const CanonicalForm CFMap CFMap & N
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
◆ matIdLift()
matrix matIdLift |
( |
ideal |
Gomega, |
|
|
ideal |
M |
|
) |
| |
Definition at line 978 of file walkSupport.cc.
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit, GbVariant alg)
◆ nextt64()
Definition at line 560 of file walkSupport.cc.
567 for(
int j=1;
j<=
s;
j++)
570 int64 temptvec0, temptvec1;
571 gett64(tt,currw64,targw64,temptvec0, temptvec1);
577 (temptvec0>0) && (temptvec1>0)
580 if( ( (temptvec0) <= (temptvec1) )
582 ( ( (temptvec0) * (tvec1) ) <
583 ( (temptvec1) * (tvec0) ) )
const CanonicalForm int s
intvec * getNthRow(intvec *v, int n)
void gett64(intvec *listw, int64vec *currw64, int64vec *targw64, int64 &tvec0, int64 &tvec1)
◆ nextw64()
Definition at line 604 of file walkSupport.cc.
618 if( (nexttvec0) !=0 &&
619 (((*a)[
i])/(nexttvec0))!=((*tempv)[
i]) )
631 if( (nexttvec1) !=0 &&
632 (((*b)[
i])/(nexttvec1))!=((*tempv)[
i]) )
643 if( (((*a)[
i])>=0 && ((*b)[i])>=0) ||
644 (((*a)[
i])<0 && ((*b)[
i])<0) )
660 for (
int i=1; i<
s; i++)
662 temp=(*nextweight)[
i];
667 if (g!=1) *nextweight /=
g;
const CanonicalForm int s
int64vec * iv64Copy(int64vec *o)
int64vec * iv64Add(int64vec *a, int64vec *b)
static short rVar(const ring r)
#define rVar(r) (r->N)
int64vec * iv64Sub(int64vec *a, int64vec *b)
int iv64Size(int64vec *v)
int64 gcd64(int64 a, int64 b)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
◆ noPolysWithMoreThanTwoTerms()
BOOLEAN noPolysWithMoreThanTwoTerms |
( |
ideal |
Gw | ) |
|
Definition at line 380 of file walkSupport.cc.
383 for(
int i=length;
i>0;
i--)
static BOOLEAN length(leftv result, leftv arg)
poly getNthPolyOfId(ideal I, int n)
◆ rCopyAndChangeA()
Definition at line 1000 of file walkSupport.cc.
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...
ring rCopy0(const ring r, BOOLEAN copy_qideal, BOOLEAN copy_ordering)
void rChangeCurrRing(ring r)
void rSetWeightVec(ring r, int64 *wv)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
◆ rGetGlobalOrderMatrix()
int64vec* rGetGlobalOrderMatrix |
( |
ring |
r | ) |
|
Definition at line 1019 of file walkSupport.cc.
1027 while(r->order[i]!=0 && pos2<n)
1029 pos2=pos2+r->block1[
i] - r->block0[
i];
1033 for(
int j=pos1;
j<=pos2;
j++)
1038 for(
int j=pos1;
j<=pos2;
j++)
1039 (*res)[pos1*n+
j]=(
int64)1;
1040 for(
int j=1;
j<=(pos2-pos1);
j++)
1041 (*res)[(pos1+
j)*n+(pos2+1-
j)]=(
int64)-1;
1045 for(
int j=pos1;
j<=pos2;
j++)
1046 (*res)[pos1*n+
j]=(
int64)1;
1047 for(
int j=1;
j<=(pos2-pos1);
j++)
1048 (*res)[(pos1+
j)*n+(pos1+
j-1)]=(
int64)1;
1052 int* weights=r->wvhdl[
i];
1053 for(
int j=pos1;
j<=pos2;
j++)
1054 (*res)[pos1*n+
j]=(
int64)weights[
j-pos1];
1055 for(
int j=1;
j<=(pos2-pos1);
j++)
1056 (*res)[(pos1+
j)*n+(pos2+1-
j)]=(
int64)-1;
1060 int* weights=r->wvhdl[
i];
1061 for(
int j=pos1;
j<=pos2;
j++)
1062 (*res)[pos1*n+
j]=(
int64)weights[
j-pos1];
1063 for(
int j=1;
j<=(pos2-pos1);
j++)
1064 (*res)[(pos1+
j)*n+(pos1+
j-1)]=(
int64)1;
1069 int* weights=r->wvhdl[0];
1070 for(
int j=pos1;
j<((pos2+1)*(pos2+1));
j++)
BOOLEAN rHasLocalOrMixedOrdering(const ring r)
static short rVar(const ring r)
#define rVar(r) (r->N)
◆ rGetGlobalOrderWeightVec()
int64vec * rGetGlobalOrderWeightVec |
( |
ring |
r | ) |
|
Definition at line 1094 of file walkSupport.cc.
1109 length=r->block1[0] - r->block0[0];
1116 int* weights=r->wvhdl[0];
1117 length=r->block1[0] - r->block0[0];
1124 length=r->block1[0] - r->block0[0];
1126 (*res)[
j]=weights[
j];
BOOLEAN rHasLocalOrMixedOrdering(const ring r)
static short rVar(const ring r)
#define rVar(r) (r->N)
for(int i=0;i<=n;i++) degsf[i]
static BOOLEAN length(leftv result, leftv arg)
◆ scalarProduct()
Definition at line 811 of file walkSupport.cc.
816 for(i=n-1; i>=0; i--)
817 result += (*a)[
i] * (*b)[
i];
◆ scalarProduct64()
Definition at line 266 of file walkSupport.cc.
272 for(i=n-1; i>=0; i--)
274 temp1=(*a)[
i] * (*b)[
i];
◆ sortRedSB()
ideal sortRedSB |
( |
ideal |
G | ) |
|
Definition at line 1146 of file walkSupport.cc.
1151 for (
int i=0;
i<(s-1);
i++)
1153 for (
int j=0;
j<((s-1)-
i);
j++)
const CanonicalForm int s
#define pLmCmp(p, q)
returns 0|1|-1 if p=q|p>q|p<q w.r.t monomial ordering
◆ tdeg()
◆ overflow_error