Changeset 3ed6cb7 in git
- Timestamp:
- Aug 6, 2013, 3:57:54 PM (9 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'ad2543eab51733612ba7d118afc77edca719600e')
- Children:
- 80b5a4f4abeb4677a1aeb9571235feed5da2f137
- Parents:
- c25b56c93e1f5abb74b2bc879f2484f1796dfdd7
- git-author:
- Adrian Popescu <adi_popescum@yahoo.de>2013-08-06 15:57:54+02:00
- git-committer:
- Oleksandr Motsak <motsak@mathematik.uni-kl.de>2013-08-06 18:36:05+02:00
- Location:
- kernel
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/khstd.cc
rc25b56c r3ed6cb7 9 9 #include "config.h" 10 10 #endif /* HAVE_CONFIG_H */ 11 11 12 #include <kernel/mod2.h> 13 #include <misc/options.h> 14 #include <misc/intvec.h> 15 #include <polys/simpleideals.h> 12 16 #include <kernel/febase.h> 13 #include <misc/options.h>14 17 #include <kernel/polys.h> 15 #include <misc/intvec.h>16 18 #include <kernel/kutil.h> 17 19 #include <kernel/stairc.h> 18 20 #include <kernel/kstd1.h> 19 21 #include <kernel/khstd.h> 22 23 #define ADIDEBUG 0 20 24 21 25 … … 127 131 } 128 132 } 133 134 135 void khCheckLocInhom(ideal Q, intvec *w, intvec *hilb, int &count, 136 kStrategy strat) 137 138 /* 139 This will be used for the local orderings in the case of the inhomogenous ideals. 140 Assume f1,...,fs are already in the standard basis. Test if hilb(LM(f1),...,LM(fs),1) 141 is equal to the inputed one. 142 If no, do nothing. 143 If Yes, we know that all polys that we need are already in the standard basis 144 so delete all the remaining pairs 145 */ 146 { 147 int i; 148 ideal Lm; 149 intvec *newhilb; 150 151 Lm = id_Head(strat->Shdl,currRing); 152 153 newhilb =hHstdSeries(Lm,w,strat->kHomW,Q,currRing); 154 155 #if ADIDEBUG 156 PrintS("\nOriginal\n"); 157 int j, l, k; 158 if (hilb == NULL) 159 return; 160 l = hilb->length()-1; 161 k = (*hilb)[l]; 162 for (i = 0; i < l; i++) 163 { 164 j = (*hilb)[i]; 165 if (j != 0) 166 { 167 Print("// %8d t^%d\n", j, i+k); 168 } 169 } 170 PrintS("\nActual\n"); 171 if (newhilb == NULL) 172 return; 173 l = newhilb->length()-1; 174 k = (*newhilb)[l]; 175 for (i = 0; i < l; i++) 176 { 177 j = (*newhilb)[i]; 178 if (j != 0) 179 { 180 Print("// %8d t^%d\n", j, i+k); 181 } 182 } 183 #endif 184 185 if(newhilb->compare(hilb) == 0) 186 { 187 while (strat->Ll>=0) 188 { 189 count++; 190 if(TEST_OPT_PROT) 191 { 192 PrintS("h"); 193 mflush(); 194 } 195 deleteInL(strat->L,&strat->Ll,strat->Ll,strat); 196 } 197 delete newhilb; 198 return; 199 } 200 201 id_Delete(&Lm,currRing); 202 203 } -
kernel/khstd.h
rc25b56c r3ed6cb7 14 14 /* ideal S=strat->Shdl, poly p=strat->P.p */ 15 15 16 void khCheckLocInhom(ideal Q, intvec *w, intvec *hilb, int &count, 17 kStrategy strat); 16 18 #endif -
kernel/kstd1.cc
rc25b56c r3ed6cb7 1733 1733 1734 1734 // apply hilbert criterion 1735 if (hilb!=NULL) khCheck(Q,w,hilb,hilbeledeg,hilbcount,strat); 1735 if (hilb!=NULL) 1736 { 1737 if (strat->homog==isHomog) 1738 khCheck(Q,w,hilb,hilbeledeg,hilbcount,strat); 1739 else 1740 khCheckLocInhom(Q,w,hilb,hilbcount,strat); 1741 } 1736 1742 1737 1743 // clear strat->P -
kernel/kutil.cc
rc25b56c r3ed6cb7 7240 7240 void initHilbCrit(ideal/*F*/, ideal /*Q*/, intvec **hilb,kStrategy strat) 7241 7241 { 7242 7243 //if the ordering is local, then hilb criterion 7244 //can be used also if tzhe ideal is not homogenous 7245 if((currRing->OrdSgn == -1) && (currRing->MixedOrder == 0 )) 7246 #ifdef HAVE_RINGS 7247 { 7248 if(rField_is_Ring(currRing)) 7249 *hilb=NULL; 7250 else 7251 return; 7252 } 7253 #endif 7242 7254 if (strat->homog!=isHomog) 7243 7255 {
Note: See TracChangeset
for help on using the changeset viewer.