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 353 of file walkSupport.cc.
358 for(
int i=length;
i>0;
i--)
#define idDelete(H)
delete an ideal
ideal init64(ideal G, int64vec *currw64)
poly getNthPolyOfId(ideal I, int n)
◆ DIFF()
Definition at line 438 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)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
const Variable & v
< [in] a sqrfree bivariate poly
poly getNthPolyOfId(ideal I, int n)
#define IMATELEM(M, I, J)
◆ DIFFspy()
Definition at line 410 of file walkSupport.cc.
420 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 112 of file walkSupport.cc.
118 for (n=pertdeg; n>1; n--)
126 if( sum64!=0 && (((inveps64-1)/sum64)!=
getMaxTdeg(
G)) )
int getMaxPosOfNthRow(intvec *v, int n)
◆ getMaxPosOfNthRow()
int getMaxPosOfNthRow |
( |
intvec * |
v, |
|
|
int |
n |
|
) |
| |
Definition at line 83 of file walkSupport.cc.
91 for (
int i=c-1;
i>=0;
i--)
93 int temp=
abs((*v)[
i+cc ]);
94 if(temp>res){res=temp;}
Rational abs(const Rational &a)
◆ getMaxTdeg()
int getMaxTdeg |
( |
ideal |
I | ) |
|
Definition at line 57 of file walkSupport.cc.
60 int length=(int)I->ncols;
61 for(
int j=length-1;
j>=0;
j--)
66 if(temp>res) {res=temp;}
static long pTotaldegree(poly p)
◆ getNthPolyOfId()
poly getNthPolyOfId |
( |
ideal |
I, |
|
|
int |
n |
|
) |
| |
◆ getNthRow()
◆ getNthRow64()
◆ gett64()
Definition at line 484 of file walkSupport.cc.
490 int64 temp1,temp2,temp3,temp4;
495 temp1=((
int64)((*listw)[j-1]));
496 temp2=((*currw64)[j-1]);
498 zaehler64=temp3-temp4;
503 if( ( temp3<0 && temp4>0 ) || ( temp3>0 && temp4<0 ) )
510 temp1=((*targw64)[j-1])-((*currw64)[j-1]);
513 temp2=((
int64)((*listw)[j-1]));
516 nenner64=temp3+temp4;
521 if( (temp3>0 && temp4>0) ||
522 (temp3<0 && temp4<0) )
525 if( (abs_t3+
abs64(temp4))<abs_t3 )
538 if ( (zaehler64<=0) && (nenner64<0) )
540 zaehler64=-zaehler64;
const CanonicalForm int s
int64 gcd64(int64 a, int64 b)
◆ getTaun64()
Definition at line 212 of file walkSupport.cc.
221 for (n=2; n<=pertdeg; n++)
229 if((*temp64)[
i]!=0 && (((*taun64)[
i])/((*temp64)[
i]))!=inveps64)
239 if( ( ((*temp64)[
i]) > 0 ) && ( ((*add64)[
i]) > 0 ) )
241 if( ((*taun64)[
i]) < ((*temp64)[
i]) )
244 if( ( ((*temp64)[
i]) < 0 ) && ( ((*add64)[
i]) < 0 ) )
246 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 961 of file walkSupport.cc.
#define idDelete(H)
delete an ideal
ideal kInterRedOld(ideal F, ideal Q)
◆ idStd()
Definition at line 941 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 302 of file walkSupport.cc.
305 ideal I=
idInit(length,
G->rank);
307 int64 leadingweight,templeadingweight;
310 for (j=1; j<=length; j++)
321 if(templeadingweight==leadingweight)
325 if(templeadingweight>leadingweight)
329 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 int64 scalarProduct64(int64vec *a, int64vec *b)
poly getNthPolyOfId(ideal I, int n)
◆ int64VecToIntVec()
Definition at line 1184 of file walkSupport.cc.
1186 int r=source->
rows();
1187 int c=source->
cols();
1189 for(
int i=0;
i<
r;
i++){
1190 for(
int j=0;
j<c;
j++){
1191 (*res)[
i*c+
j]=(int)(*source)[
i*c+
j];
◆ invEpsOk64()
int invEpsOk64 |
( |
ideal |
I, |
|
|
intvec * |
targm, |
|
|
int |
pertdeg, |
|
|
int64 |
inveps64 |
|
) |
| |
Definition at line 144 of file walkSupport.cc.
147 if (inveps64>=temp64)
int64 getInvEps64(ideal G, intvec *targm, int pertdeg)
◆ leadExp()
Definition at line 749 of file walkSupport.cc.
752 int *e=(
int*)
omAlloc((N+1)*
sizeof(int));
755 for(
int i=N;
i>0;
i--) { (*iv)[
i-1]=e[
i];}
static short rVar(const ring r)
#define rVar(r) (r->N)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
const CanonicalForm CFMap CFMap & N
#define pGetExpV(p, e)
Gets a copy of (resp. set) the exponent vector, where e is assumed to point to (r->N +1)*sizeof(long)...
◆ leadExp64()
Definition at line 772 of file walkSupport.cc.
775 int *e=(
int*)
omAlloc((N+1)*
sizeof(int));
778 for(
int i=N;
i>0;
i--) { (*iv64)[
i-1]=(
int64)e[
i];}
static short rVar(const ring r)
#define rVar(r) (r->N)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
const CanonicalForm CFMap CFMap & N
#define pGetExpV(p, e)
Gets a copy of (resp. set) the exponent vector, where e is assumed to point to (r->N +1)*sizeof(long)...
◆ matIdLift()
matrix matIdLift |
( |
ideal |
Gomega, |
|
|
ideal |
M |
|
) |
| |
Definition at line 981 of file walkSupport.cc.
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit)
◆ nextt64()
Definition at line 563 of file walkSupport.cc.
570 for(
int j=1;
j<=
s;
j++)
573 int64 temptvec0, temptvec1;
574 gett64(tt,currw64,targw64,temptvec0, temptvec1);
580 (temptvec0>0) && (temptvec1>0)
583 if( ( (temptvec0) <= (temptvec1) )
585 ( ( (temptvec0) * (tvec1) ) <
586 ( (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 607 of file walkSupport.cc.
621 if( (nexttvec0) !=0 &&
622 (((*a)[
i])/(nexttvec0))!=((*tempv)[
i]) )
634 if( (nexttvec1) !=0 &&
635 (((*b)[
i])/(nexttvec1))!=((*tempv)[
i]) )
646 if( (((*a)[
i])>=0 && ((*b)[i])>=0) ||
647 (((*a)[
i])<0 && ((*b)[
i])<0) )
663 for (
int i=1; i<
s; i++)
665 temp=(*nextweight)[
i];
670 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)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
int64vec * iv64Sub(int64vec *a, int64vec *b)
int iv64Size(int64vec *v)
int64 gcd64(int64 a, int64 b)
◆ noPolysWithMoreThanTwoTerms()
BOOLEAN noPolysWithMoreThanTwoTerms |
( |
ideal |
Gw | ) |
|
Definition at line 383 of file walkSupport.cc.
386 for(
int i=length;
i>0;
i--)
poly getNthPolyOfId(ideal I, int n)
◆ rCopyAndChangeA()
Definition at line 1003 of file walkSupport.cc.
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
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)
◆ rGetGlobalOrderMatrix()
int64vec* rGetGlobalOrderMatrix |
( |
ring |
r | ) |
|
Definition at line 1022 of file walkSupport.cc.
1030 while(
r->order[i]!=0 && pos2<n)
1032 pos2=pos2+
r->block1[
i] -
r->block0[
i];
1036 for(
int j=pos1;
j<=pos2;
j++)
1041 for(
int j=pos1;
j<=pos2;
j++)
1042 (*res)[pos1*n+
j]=(
int64)1;
1043 for(
int j=1;
j<=(pos2-pos1);
j++)
1044 (*res)[(pos1+
j)*n+(pos2+1-
j)]=(
int64)-1;
1048 for(
int j=pos1;
j<=pos2;
j++)
1049 (*res)[pos1*n+
j]=(
int64)1;
1050 for(
int j=1;
j<=(pos2-pos1);
j++)
1051 (*res)[(pos1+
j)*n+(pos1+
j-1)]=(
int64)1;
1055 int* weights=
r->wvhdl[
i];
1056 for(
int j=pos1;
j<=pos2;
j++)
1057 (*res)[pos1*n+
j]=(
int64)weights[
j-pos1];
1058 for(
int j=1;
j<=(pos2-pos1);
j++)
1059 (*res)[(pos1+
j)*n+(pos2+1-
j)]=(
int64)-1;
1063 int* weights=
r->wvhdl[
i];
1064 for(
int j=pos1;
j<=pos2;
j++)
1065 (*res)[pos1*n+
j]=(
int64)weights[
j-pos1];
1066 for(
int j=1;
j<=(pos2-pos1);
j++)
1067 (*res)[(pos1+
j)*n+(pos1+
j-1)]=(
int64)1;
1072 int* weights=
r->wvhdl[0];
1073 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 1097 of file walkSupport.cc.
1112 length=
r->block1[0] -
r->block0[0];
1113 for (
int j=0;
j<=length;
j++)
1119 int* weights=
r->wvhdl[0];
1120 length=
r->block1[0] -
r->block0[0];
1121 for (
int j=0;
j<=length;
j++)
1127 length=
r->block1[0] -
r->block0[0];
1128 for (
int j=0;
j<=length;
j++)
1129 (*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< R->ExpL_Size;i++) Print("%09lx "
◆ scalarProduct()
Definition at line 814 of file walkSupport.cc.
819 for(i=n-1; i>=0; i--)
820 result += (*a)[
i] * (*b)[
i];
◆ scalarProduct64()
Definition at line 269 of file walkSupport.cc.
275 for(i=n-1; i>=0; i--)
277 temp1=(*a)[
i] * (*b)[
i];
◆ sortRedSB()
ideal sortRedSB |
( |
ideal |
G | ) |
|
Definition at line 1149 of file walkSupport.cc.
1154 for (
int i=0;
i<(s-1);
i++)
1156 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