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 | gett64 (int64vec *listw, int64vec *currw, int64vec *targw, int64 &t1, int64 &t2) |
|
void | nextt64 (ideal G, int64vec *currw, int64vec *targw, int64 &t1, int64 &t2) |
|
int64vec * | nextw64 (int64vec *currw, int64vec *targw, int64 nexttvec0, int64 nexttvec1) |
|
int | DIFFspy (ideal G) |
|
intvec * | DIFF (ideal G) |
|
ideal | init64 (ideal G, int64vec *currw) |
|
BOOLEAN | currwOnBorder64 (ideal I, int64vec *currw64) |
|
void | getTaun64 (ideal G, intvec *targm, int pertdeg, int64vec **v64, int64 &i64) |
|
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) |
|
BOOLEAN | noPolysWithMoreThanTwoTerms (ideal Gw) |
|
int | ivSize (intvec *v) |
|
int | iv64Size (int64vec *v) |
|
intvec * | leadExp (poly p) |
|
int64vec * | leadExp64 (poly p) |
|
void | setPosOfIM (intvec *im, int i, int j, int val) |
|
poly | getNthPolyOfId (ideal I, int n) |
|
int | gcd (int a, int b) |
|
int64 | gcd64 (int64 a, int64 b) |
|
int64 | abs64 (int64 i) |
|
ideal | sortRedSB (ideal G) |
|
intvec * | int64VecToIntVec (int64vec *source) |
|
◆ idealSize
◆ abs64()
◆ currwOnBorder64()
Definition at line 350 of file walkSupport.cc.
351{
356 {
357
360 {
362 }
363 }
366}
#define idDelete(H)
delete an ideal
static BOOLEAN length(leftv result, leftv arg)
poly getNthPolyOfId(ideal I, int n)
ideal init64(ideal G, int64vec *currw64)
◆ DIFF()
Definition at line 435 of file walkSupport.cc.
436{
444 int inc=0;
446 {
451 {
452 inc++;
458 {
459
461 }
463 }
465 }
467}
const CanonicalForm int s
const Variable & v
< [in] a sqrfree bivariate poly
intvec * ivSub(intvec *a, intvec *b)
#define IMATELEM(M, I, J)
VAR 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)
◆ DIFFspy()
Definition at line 407 of file walkSupport.cc.
408{
415 {
418 }
420}
static int pLength(poly a)
◆ gcd()
Definition at line 836 of file walkSupport.cc.
837{
838 int r,
p0 = a, p1 =
b;
841
842 if(p1 < 0)
843 p1 = -p1;
844 while(p1 != 0)
845 {
848 p1 = r;
849 }
851}
◆ gcd64()
Definition at line 864 of file walkSupport.cc.
865{
869
870 if(p1 < 0)
871 p1 = -p1;
872
873 while(p1 != ((
int64)0) )
874 {
877 p1 = r;
878 }
879
881}
◆ getInvEps64()
Definition at line 109 of file walkSupport.cc.
110{
111 int n;
114
116 {
119 }
121
122
125
127}
int getMaxPosOfNthRow(intvec *v, int n)
EXTERN_VAR int overflow_error
◆ getMaxPosOfNthRow()
Definition at line 80 of file walkSupport.cc.
81{
83 assume( (0<n) && (n<=(
v->rows())) );
84 {
88 for (
int i=c-1;
i>=0;
i--)
89 {
92 }
93 }
95}
Rational abs(const Rational &a)
◆ getMaxTdeg()
Definition at line 54 of file walkSupport.cc.
55{
59 {
61 {
64 }
65 }
67}
static long pTotaldegree(poly p)
◆ getNthPolyOfId()
Definition at line 686 of file walkSupport.cc.
687{
688 if(0<n && n<=((
int)
I->ncols))
689 {
691 }
692 else
693 {
695 }
696}
◆ getNthRow()
Definition at line 165 of file walkSupport.cc.
166{
170 if((0<n) && (n<=r))
171 {
173 for (
int i=0;
i<c;
i++)
174 {
175 (*res)[
i]=(*v)[
i+
cc ];
176 }
177 }
179}
◆ getNthRow64()
Definition at line 181 of file walkSupport.cc.
182{
186 if((0<n) && (n<=r))
187 {
189 for (
int i=0;
i<c;
i++)
190 {
192 }
193 }
195}
◆ gett64()
◆ getTaun64()
Definition at line 209 of file walkSupport.cc.
210{
215
216 int n;
217
219 {
221 {
225 {
228 }
230 }
235 {
236 if( ( ((*
temp64)[
i]) > 0 ) && ( ((*add64)[
i]) > 0 ) )
237 {
240 }
241 if( ( ((*
temp64)[
i]) < 0 ) && ( ((*add64)[
i]) < 0 ) )
242 {
245 }
246 }
248 }
249
250
251
254}
int64vec * iv64Add(int64vec *a, int64vec *b)
int64vec * iv64Copy(int64vec *o)
int64vec * getNthRow64(intvec *v, int n)
int64 getInvEps64(ideal G, intvec *targm, int pertdeg)
◆ idInterRed()
Definition at line 958 of file walkSupport.cc.
959{
961
965}
ideal kInterRedOld(ideal F, const ideal Q)
◆ idStd()
Definition at line 938 of file walkSupport.cc.
939{
943}
ideal kStd(ideal F, ideal Q, tHomog h, intvec **w, bigintmat *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()
Definition at line 299 of file walkSupport.cc.
300{
308 {
314 {
319 {
321 }
323 {
327 }
329 }
333 }
335}
#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
int64vec * leadExp64(poly p)
static int64 scalarProduct64(int64vec *a, int64vec *b)
◆ int64VecToIntVec()
Definition at line 1181 of file walkSupport.cc.
1182{
1186 for(
int i=0;
i<r;
i++){
1187 for(
int j=0;
j<c;
j++){
1189 }
1190 }
1193}
◆ invEpsOk64()
Definition at line 141 of file walkSupport.cc.
142{
145 {
146 return(1);
147 }
148 else
149 {
150 return(0);
151 }
152}
◆ iv64Size()
◆ ivSize()
◆ leadExp()
Definition at line 746 of file walkSupport.cc.
747{
752 for(
int i=
N;
i>0;
i--) { (*iv)[
i-1]=e[
i];}
754 return(iv);
755}
const CanonicalForm CFMap CFMap & N
static void p_GetExpV(poly p, int *ev, const ring r)
◆ leadExp64()
◆ matIdLift()
Definition at line 978 of file walkSupport.cc.
979{
985}
ideal idLift(ideal mod, ideal submod, ideal *rest, BOOLEAN goodShape, BOOLEAN isSB, BOOLEAN divide, matrix *unit, GbVariant alg)
represents the generators of submod in terms of the generators of mod (Matrix(SM)*U-Matrix(rest)) = M...
matrix id_Module2formatedMatrix(ideal mod, int rows, int cols, const ring R)
◆ nextt64()
Definition at line 560 of file walkSupport.cc.
561{
567 for(
int j=1;
j<=
s;
j++)
568 {
573
574
576 &&
578 )
579 {
581 &&
584 )
585 {
588 }
589 }
590 }
592 return;
593}
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.
606{
607
611
612
613
617 {
620 {
622 break;
623 }
624 }
630 {
633 {
635 break;
636 }
637 }
640
642 {
643 if( (((*a)[
i])>=0 && ((*
b)[
i])>=0) ||
644 (((*a)[
i])<0 && ((*
b)[
i])<0) )
645 {
648 )
649 {
651 break;
652 }
653 }
654 }
655
656
660 for (
int i=1;
i<
s;
i++)
661 {
662 temp=(*nextweight)[
i];
665 }
666
668
670}
int64vec * iv64Sub(int64vec *a, int64vec *b)
int64 gcd64(int64 a, int64 b)
int iv64Size(int64vec *v)
◆ noPolysWithMoreThanTwoTerms()
◆ rCopyAndChangeA()
Definition at line 1000 of file walkSupport.cc.
1001{
1006}
void rChangeCurrRing(ring r)
void rSetWeightVec(ring r, int64 *wv)
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)
◆ rGetGlobalOrderMatrix()
Definition at line 1019 of file walkSupport.cc.
1020{
1027 while(r->order[
i]!=0 &&
pos2<n)
1028 {
1030
1032 {
1035 }
1037 {
1042 }
1044 {
1049 }
1051 {
1052 int* weights=r->wvhdl[
i];
1057 }
1059 {
1060 int* weights=r->wvhdl[
i];
1065 }
1066
1068 {
1069 int* weights=r->wvhdl[0];
1072 }
1073
1077 }
1078
1080}
static BOOLEAN rHasLocalOrMixedOrdering(const ring r)
◆ rGetGlobalOrderWeightVec()
Definition at line 1094 of file walkSupport.cc.
1095{
1098
1100
1102
1104 {
1106 }
1108 {
1109 length=r->block1[0] - r->block0[0];
1112 }
1115 {
1116 int* weights=r->wvhdl[0];
1117 length=r->block1[0] - r->block0[0];
1120 }
1122 {
1124 length=r->block1[0] - r->block0[0];
1126 (*
res)[
j]=weights[
j];
1127 }
1128
1130}
@ ringorder_a64
for int64 weights
◆ setPosOfIM()
◆ sortRedSB()
Definition at line 1146 of file walkSupport.cc.
1147{
1151 for (
int i=0;
i<(
s-1);
i++)
1152 {
1153 for (
int j=0;
j<((
s-1)-
i);
j++)
1154 {
1158 {
1161 }
1162 }
1163 }
1165}
#define pLmCmp(p, q)
returns 0|1|-1 if p=q|p>q|p<q w.r.t monomial ordering
◆ tdeg()