Changeset 9b3ad3 in git
- Timestamp:
- May 8, 2013, 6:02:54 PM (10 years ago)
- Branches:
- (u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
- Children:
- 31e974b5248d027aefd2b1f1898b085e9f9e9cbb
- Parents:
- 47fff556be2c2414e0228fdd969a7369db9d35fd
- git-author:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-05-08 18:02:54+02:00
- git-committer:
- Hans Schoenemann <hannes@mathematik.uni-kl.de>2013-05-10 10:24:01+02:00
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Tst/Short/bug_ring_quot.res.gz.uu
r47fff5 r9b3ad3 1 1 begin 644 bug_ring_quot.res.gz 2 M'XL("`L5,E```V)U9U]R:6YG7W%U;W0N<F5S`$6006O#,`R%[_D5C]*#0XW; 3 M=$NZ$N+#V,4PMK'T5DI(%Q,,P>T<A[;^]7-*YUPD(7T2[ZG<O8D/``G'NWC% 4 MS/:6=>HXRZ/R,5ES^&:EM+(DSJ,Q@W,<A[8R2K?5[W"R3,L+ZVUMP]831ZB? 5 M&99+7,Q)MY#:2O.IY5>M3'F6/ZKN`I<RC!?Q72A/M=)0<J4WZF+:G"<]&8=J 6 M9-U!%-G5+6Z.WN/"3<B&H[<-$5YNM4\.1>K'F?/U^E`\X,"^<(P.E!=&!$W_ 7 <5U8!V$Y.DA6[_V)T.O0DB?-Y]`?V^;]]00$````` 2 M'XL("/1VBE$``V)U9U]R:6YG7W%U;W0N<F5S`(V1P6Z#,`R&[SR%U>T`:I8V 3 M%.@J1`[3+DAK-XW=*H3HR%`D!ET(*O#T"ZP-[6T7Q[$_1_\?1Q_/X0X`"(67 4 M\`EFLI:XX(>9;T3GCDU!%1-><FE:OC&<0"D<FCP1O,R3GZ:2N&0G7,M4ZJD5 5 M!9T[&!8+.(FJS(&5DHG7DKVE7$1']LG30G,NAN%%>`^XHG(FD-FB#O46RHZ3 6 M'H\"SUA:0!AX;3_O>C3&>3\A:PJUS,Q0R4WV)`Y<U?9ZE=MQ<(8U^TAA<,"5 7 M,#-$[G]&-I,WLAR]28'A#IS-4M?)Q<NMF1LK1'WM=Y4U!8-=L&\1B9&*73P! 8 M*PUL@R_!V-_%M*T)<:[T[]#VHK_M'EK-N%>"/3SE:SRN=EA<4YO$\N^-7SVD 9 &:3H0`@`` 8 10 ` 9 11 end -
Tst/Short/bug_ring_quot.stat
r47fff5 r9b3ad3 1 1 >> tst_memory_0 :: 13 45459467:3150:3-1-5:ix86-Linux:mamawutz:1802962 1 >> tst_memory_1 :: 13 45459467:3150:3-1-5:ix86-Linux:mamawutz:22392563 1 >> tst_memory_2 :: 13 45459467:3150:3-1-5:ix86-Linux:mamawutz:22720404 1 >> tst_timer_1 :: 13 45459467:3150:3-1-5:ix86-Linux:mamawutz:21 1 >> tst_memory_0 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:156912 2 1 >> tst_memory_1 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2214676 3 1 >> tst_memory_2 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2255648 4 1 >> tst_timer_1 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2 -
Tst/Short/bug_ring_quot.tst
r47fff5 r9b3ad3 8 8 quotient(I,5); 9 9 10 // tr. # 490 11 ring RR=integer,(x,y),dp; 12 module N=[x,1],[x,y]; 13 module M=freemodule(2); 14 quotient(N,M); 15 16 10 17 tst_status(1);$ -
kernel/kutil.cc
r47fff5 r9b3ad3 1194 1194 compare=pDivCompRing(strat->B[j].lcm,Lp.lcm); 1195 1195 compareCoeff = n_DivComp(pGetCoeff(strat->B[j].lcm), pGetCoeff(Lp.lcm), currRing->cf); 1196 if ( compareCoeff == pDivComp_EQUAL || compare == compareCoeff)1196 if ((compareCoeff == pDivComp_EQUAL) || (compare == compareCoeff)) 1197 1197 { 1198 1198 if (compare == 1) … … 1282 1282 */ 1283 1283 /*- compute the short s-polynomial -*/ 1284 if ((strat->S[i]==NULL) || (p==NULL)) { 1284 if ((strat->S[i]==NULL) || (p==NULL)) 1285 { 1285 1286 #ifdef KDEBUG 1286 1287 if (TEST_OPT_DEBUG) … … 1785 1786 sSigMult = currRing->p_Procs->pp_Mult_mm(sSigMult,m2,currRing); 1786 1787 sSigMultNegSev = ~p_GetShortExpVector(sSigMult,currRing); 1787 1788 1788 1789 pDelete (&m1); 1789 1790 pDelete (&m2); … … 1796 1797 Print("----------------\n"); 1797 1798 #endif 1798 // testing by syzCrit = F5 Criterion 1799 // testing by syzCrit = F5 Criterion 1799 1800 // testing by rewCrit1 = Rewritten Criterion 1800 1801 if ( strat->syzCrit(pSigMult,pSigMultNegSev,strat) || 1801 strat->syzCrit(sSigMult,sSigMultNegSev,strat) 1802 strat->syzCrit(sSigMult,sSigMultNegSev,strat) 1802 1803 || strat->rewCrit1(sSigMult,sSigMultNegSev,strat,i+1) 1803 1804 ) … … 1813 1814 // to S right after this critical pair creation. 1814 1815 // NOTE: this even holds if the 2nd generator gives the bigger signature 1815 // moreover, this improves rewCriterion, 1816 // moreover, this improves rewCriterion, 1816 1817 // i.e. strat->checked > strat->from if and only if the 2nd generator 1817 // gives the bigger signature. 1818 // gives the bigger signature. 1818 1819 Lp.checked = strat->sl+1; 1819 1820 int sigCmp = p_LmCmp(pSigMult,sSigMult,currRing); … … 1839 1840 1840 1841 // store from which element this pair comes from for further tests 1841 Lp.from = strat->sl+1; 1842 Lp.from = strat->sl+1; 1842 1843 if(sigCmp==currRing->OrdSgn) 1843 1844 { … … 2865 2866 for (j=strat->Ll; j>=0; j--) 2866 2867 { 2867 if ( strat->L[j].lcm != NULL&& n_DivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(p), currRing->cf))2868 if ((strat->L[j].lcm != NULL) && n_DivBy(pGetCoeff(strat->L[j].lcm), pGetCoeff(p), currRing->cf)) 2868 2869 { 2869 2870 if (pCompareChain(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm)) … … 3399 3400 // if (((unsigned long) pGetCoeff(h) % (unsigned long) pGetCoeff(strat->S[j]) != 0) && 3400 3401 // ((unsigned long) pGetCoeff(strat->S[j]) % (unsigned long) pGetCoeff(h) != 0)) 3401 if ( iCompH == pGetComp(strat->S[j]) ) 3402 if ((iCompH == pGetComp(strat->S[j])) 3403 || (0 == pGetComp(strat->S[j]))) 3402 3404 { 3403 3405 enterOneStrongPoly(j,h,ecart,isFromQ,strat, atR); … … 3626 3628 } 3627 3629 } 3630 kMergeBintoL(strat); 3628 3631 } 3629 3632 else 3630 #endif 3633 #endif 3631 3634 for (j=0; j<=k; j++) 3632 3635 { … … 4498 4501 4499 4502 /*2 4500 * 4503 * 4501 4504 * is only used in F5C, must ensure that the interreduction process does add new 4502 4505 * critical pairs to strat->L only behind all other critical pairs which are … … 5096 5099 } 5097 5100 5098 if (strat->P.GetLmCurrRing() != NULL && strat->L[strat->Ll].GetLmCurrRing() != NULL) 5101 if ((strat->P.GetLmCurrRing() != NULL) 5102 && (strat->L[strat->Ll].GetLmCurrRing() != NULL)) 5099 5103 { 5100 5104 if (pLmCmp(strat->P.GetLmCurrRing(),strat->L[strat->Ll].GetLmCurrRing()) == -1) … … 5852 5856 //p_SetCoeff(h.sig,nInit(1),currRing); 5853 5857 p_SetComp(h.sig,i+1,currRing); 5854 // if we are working with the Schreyer order we generate it 5858 // if we are working with the Schreyer order we generate it 5855 5859 // by multiplying the initial signatures with the leading monomial 5856 5860 // of the corresponding initial polynomials generating the ideal 5857 // => we can keep the underlying monomial order and get a Schreyer 5861 // => we can keep the underlying monomial order and get a Schreyer 5858 5862 // order without any bigger overhead 5859 5863 if (!strat->incremental) 5860 5864 { 5861 p_ExpVectorAdd (h.sig,F->m[i],currRing); 5865 p_ExpVectorAdd (h.sig,F->m[i],currRing); 5862 5866 } 5863 5867 h.sevSig = pGetShortExpVector(h.sig); … … 5902 5906 // add LM(F->m[i]) to the signature to get a Schreyer order 5903 5907 // without changing the underlying polynomial ring at all 5904 p_ExpVectorAdd (strat->syz[ctr],F->m[i],currRing); 5908 p_ExpVectorAdd (strat->syz[ctr],F->m[i],currRing); 5905 5909 // since p_Add_q() destroys all input 5906 // data we need to recreate help 5910 // data we need to recreate help 5907 5911 // each time 5908 5912 poly help = pCopy(F->m[i]); … … 5951 5955 { 5952 5956 if (pGetComp(strat->sig[i-1]) != pGetComp(strat->sig[i])) 5953 { 5957 { 5954 5958 ps += i; 5955 5959 } … … 5966 5970 printf("------------- GENERATING SYZ RULES NEW ---------------\n"); 5967 5971 #endif 5968 i = 1; 5972 i = 1; 5969 5973 j = 0; 5970 5974 /************************************************************ … … 7049 7053 } 7050 7054 7051 if ( strat->tailBin != NULL&& (pNext(p.p) != NULL))7055 if ((strat->tailBin != NULL) && (pNext(p.p) != NULL)) 7052 7056 { 7053 7057 pNext(p.p)=p_ShallowCopyDelete(pNext(p.p), … … 7100 7104 while (cc>-1) 7101 7105 { 7102 if (p_LmShortDivisibleBy( strat->syz[strat->syzl-1], strat->sevSyz[strat->syzl-1], 7106 if (p_LmShortDivisibleBy( strat->syz[strat->syzl-1], strat->sevSyz[strat->syzl-1], 7103 7107 strat->L[cc].sig, ~strat->L[cc].sevSig, currRing)) 7104 7108 { … … 7928 7932 poly p2_max = (strat->R[L->i_r2])->max; 7929 7933 7930 if (( p1_max != NULL&& !p_LmExpVectorAddIsOk(m1, p1_max, strat->tailRing)) ||7931 ( p2_max != NULL&& !p_LmExpVectorAddIsOk(m2, p2_max, strat->tailRing)))7934 if (((p1_max != NULL) && !p_LmExpVectorAddIsOk(m1, p1_max, strat->tailRing)) || 7935 ((p2_max != NULL) && !p_LmExpVectorAddIsOk(m2, p2_max, strat->tailRing))) 7932 7936 { 7933 7937 p_LmFree(m1, strat->tailRing); … … 7955 7959 poly p2_max = (strat->R[strat->S_2_R[atS]])->max; 7956 7960 7957 if (( p1_max != NULL&& !p_LmExpVectorAddIsOk(m1, p1_max, strat->tailRing)) ||7958 ( p2_max != NULL&& !p_LmExpVectorAddIsOk(m2, p2_max, strat->tailRing)))7961 if (((p1_max != NULL) && !p_LmExpVectorAddIsOk(m1, p1_max, strat->tailRing)) || 7962 ((p2_max != NULL) && !p_LmExpVectorAddIsOk(m2, p2_max, strat->tailRing))) 7959 7963 { 7960 7964 return FALSE; … … 8015 8019 strat->L[i].ShallowCopyDelete(new_tailRing, p_shallow_copy_delete); 8016 8020 } 8017 if ( strat->P.t_p != NULL||8018 ( strat->P.p != NULL&& pNext(strat->P.p) != strat->tail))8021 if ((strat->P.t_p != NULL) || 8022 ((strat->P.p != NULL) && pNext(strat->P.p) != strat->tail)) 8019 8023 strat->P.ShallowCopyDelete(new_tailRing, p_shallow_copy_delete); 8020 8024 8021 if ( L != NULL && L->tailRing != new_tailRing)8025 if ((L != NULL) && (L->tailRing != new_tailRing)) 8022 8026 { 8023 8027 if (L->i_r < 0) … … 8035 8039 } 8036 8040 8037 if ( T != NULL && T->tailRing != new_tailRing && T->i_r < 0)8041 if ((T != NULL) && (T->tailRing != new_tailRing && T->i_r < 0)) 8038 8042 T->ShallowCopyDelete(new_tailRing, new_tailBin, p_shallow_copy_delete); 8039 8043 … … 8140 8144 return (res); 8141 8145 } 8142 8146 8143 8147 // not incremental => use Schreyer order 8144 8148 // this is done by a trick when initializing the signatures 8145 8149 // in initSLSba(): 8146 8150 // Instead of using the signature 1e_i for F->m[i], we start 8147 // with the signature LM(F->m[i])e_i for F->m[i]. Doing this we get a 8151 // with the signature LM(F->m[i])e_i for F->m[i]. Doing this we get a 8148 8152 // Schreyer order w.r.t. the underlying monomial order. 8149 8153 // => we do not need to change the underlying polynomial ring at all! … … 8246 8250 } 8247 8251 */ 8248 8252 8249 8253 assume(FALSE); 8250 8254 return(NULL); … … 8553 8557 if(TEST_OPT_DEGBOUND) 8554 8558 Print(" degBound: %d\n", Kstd1_deg); 8555 8559 8556 8560 if( ecartWeights != NULL ) 8557 { 8558 PrintS("ecartWeights: "); 8561 { 8562 PrintS("ecartWeights: "); 8559 8563 for (int i = rVar(currRing); i > 0; i--) 8560 8564 Print("%hd ", ecartWeights[i]); … … 8562 8566 assume( TEST_OPT_WEIGHTM ); 8563 8567 } 8564 8568 8565 8569 #ifndef NDEBUG 8566 8570 rDebugPrint(currRing);
Note: See TracChangeset
for help on using the changeset viewer.