Changeset 9b3ad3 in git


Ignore:
Timestamp:
May 8, 2013, 6:02:54 PM (10 years ago)
Author:
Hans Schoenemann <hannes@…>
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
Message:
fix: tr. #490 (missing kMergeBintoL in enterpairsSpecial)

from master
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • Tst/Short/bug_ring_quot.res.gz.uu

    r47fff5 r9b3ad3  
    11begin 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$`````
     2M'XL("/1VBE$``V)U9U]R:6YG7W%U;W0N<F5S`(V1P6Z#,`R&[SR%U>T`:I8V
     3M%.@J1`[3+DAK-XW=*H3HR%`D!ET(*O#T"ZP-[6T7Q[$_1_\?1Q_/X0X`"(67
     4M\`EFLI:XX(>9;T3GCDU!%1-><FE:OC&<0"D<FCP1O,R3GZ:2N&0G7,M4ZJD5
     5M!9T[&!8+.(FJS(&5DHG7DKVE7$1']LG30G,NAN%%>`^XHG(FD-FB#O46RHZ3
     6M'H\"SUA:0!AX;3_O>C3&>3\A:PJUS,Q0R4WV)`Y<U?9ZE=MQ<(8U^TAA<,"5
     7M,#-$[G]&-I,WLAR]28'A#IS-4M?)Q<NMF1LK1'WM=Y4U!8-=L&\1B9&*73P!
     8M*PUL@R_!V-_%M*T)<:[T[]#VHK_M'EK-N%>"/3SE:SRN=EA<4YO$\N^-7SVD
     9&:3H0`@``
    810`
    911end
  • Tst/Short/bug_ring_quot.stat

    r47fff5 r9b3ad3  
    1 1 >> tst_memory_0 :: 1345459467:3150:3-1-5:ix86-Linux:mamawutz:180296
    2 1 >> tst_memory_1 :: 1345459467:3150:3-1-5:ix86-Linux:mamawutz:2239256
    3 1 >> tst_memory_2 :: 1345459467:3150:3-1-5:ix86-Linux:mamawutz:2272040
    4 1 >> tst_timer_1 :: 1345459467:3150:3-1-5:ix86-Linux:mamawutz:2
     11 >> tst_memory_0 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:156912
     21 >> tst_memory_1 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2214676
     31 >> tst_memory_2 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2255648
     41 >> tst_timer_1 :: 1368028916:3160:3-1-6:ix86-Linux:mamawutz:2
  • Tst/Short/bug_ring_quot.tst

    r47fff5 r9b3ad3  
    88quotient(I,5);
    99
     10// tr. # 490
     11ring RR=integer,(x,y),dp;
     12module N=[x,1],[x,y];
     13module M=freemodule(2);
     14quotient(N,M);
     15
     16
    1017tst_status(1);$
  • kernel/kutil.cc

    r47fff5 r9b3ad3  
    11941194    compare=pDivCompRing(strat->B[j].lcm,Lp.lcm);
    11951195    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))
    11971197    {
    11981198      if (compare == 1)
     
    12821282  */
    12831283  /*-  compute the short s-polynomial -*/
    1284   if ((strat->S[i]==NULL) || (p==NULL)) {
     1284  if ((strat->S[i]==NULL) || (p==NULL))
     1285  {
    12851286#ifdef KDEBUG
    12861287    if (TEST_OPT_DEBUG)
     
    17851786  sSigMult = currRing->p_Procs->pp_Mult_mm(sSigMult,m2,currRing);
    17861787  sSigMultNegSev = ~p_GetShortExpVector(sSigMult,currRing);
    1787  
     1788
    17881789  pDelete (&m1);
    17891790  pDelete (&m2);
     
    17961797  Print("----------------\n");
    17971798#endif
    1798   // testing by syzCrit = F5 Criterion 
     1799  // testing by syzCrit = F5 Criterion
    17991800  // testing by rewCrit1 = Rewritten Criterion
    18001801  if  ( strat->syzCrit(pSigMult,pSigMultNegSev,strat) ||
    1801         strat->syzCrit(sSigMult,sSigMultNegSev,strat) 
     1802        strat->syzCrit(sSigMult,sSigMultNegSev,strat)
    18021803        || strat->rewCrit1(sSigMult,sSigMultNegSev,strat,i+1)
    18031804      )
     
    18131814  // to S right after this critical pair creation.
    18141815  // NOTE: this even holds if the 2nd generator gives the bigger signature
    1815   //       moreover, this improves rewCriterion, 
     1816  //       moreover, this improves rewCriterion,
    18161817  //       i.e. strat->checked > strat->from if and only if the 2nd generator
    1817   //       gives the bigger signature. 
     1818  //       gives the bigger signature.
    18181819  Lp.checked = strat->sl+1;
    18191820  int sigCmp = p_LmCmp(pSigMult,sSigMult,currRing);
     
    18391840
    18401841  // store from which element this pair comes from for further tests
    1841   Lp.from = strat->sl+1;   
     1842  Lp.from = strat->sl+1;
    18421843  if(sigCmp==currRing->OrdSgn)
    18431844  {
     
    28652866  for (j=strat->Ll; j>=0; j--)
    28662867  {
    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))
    28682869    {
    28692870      if (pCompareChain(p,strat->L[j].p1,strat->L[j].p2,strat->L[j].lcm))
     
    33993400//      if (((unsigned long) pGetCoeff(h) % (unsigned long) pGetCoeff(strat->S[j]) != 0) &&
    34003401//         ((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])))
    34023404      {
    34033405        enterOneStrongPoly(j,h,ecart,isFromQ,strat, atR);
     
    36263628      }
    36273629    }
     3630    kMergeBintoL(strat);
    36283631  }
    36293632  else
    3630 #endif 
     3633#endif
    36313634  for (j=0; j<=k; j++)
    36323635  {
     
    44984501
    44994502/*2
    4500 * 
     4503*
    45014504* is only used in F5C, must ensure that the interreduction process does add new
    45024505* critical pairs to strat->L only behind all other critical pairs which are
     
    50965099    }
    50975100
    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))
    50995103    {
    51005104      if (pLmCmp(strat->P.GetLmCurrRing(),strat->L[strat->Ll].GetLmCurrRing()) == -1)
     
    58525856      //p_SetCoeff(h.sig,nInit(1),currRing);
    58535857      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
    58555859      // by multiplying the initial signatures with the leading monomial
    58565860      // 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
    58585862      //    order without any bigger overhead
    58595863      if (!strat->incremental)
    58605864      {
    5861         p_ExpVectorAdd (h.sig,F->m[i],currRing); 
     5865        p_ExpVectorAdd (h.sig,F->m[i],currRing);
    58625866      }
    58635867      h.sevSig = pGetShortExpVector(h.sig);
     
    59025906          // add LM(F->m[i]) to the signature to get a Schreyer order
    59035907          // 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);
    59055909          // since p_Add_q() destroys all input
    5906           // data we need to recreate help 
     5910          // data we need to recreate help
    59075911          // each time
    59085912          poly help = pCopy(F->m[i]);
     
    59515955    {
    59525956      if (pGetComp(strat->sig[i-1]) != pGetComp(strat->sig[i]))
    5953       { 
     5957      {
    59545958        ps += i;
    59555959      }
     
    59665970    printf("------------- GENERATING SYZ RULES NEW ---------------\n");
    59675971#endif
    5968     i = 1; 
     5972    i = 1;
    59695973    j = 0;
    59705974    /************************************************************
     
    70497053  }
    70507054
    7051   if (strat->tailBin != NULL && (pNext(p.p) != NULL))
     7055  if ((strat->tailBin != NULL) && (pNext(p.p) != NULL))
    70527056  {
    70537057    pNext(p.p)=p_ShallowCopyDelete(pNext(p.p),
     
    71007104  while (cc>-1)
    71017105  {
    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],
    71037107                              strat->L[cc].sig, ~strat->L[cc].sevSig, currRing))
    71047108    {
     
    79287932  poly p2_max = (strat->R[L->i_r2])->max;
    79297933
    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)))
    79327936  {
    79337937    p_LmFree(m1, strat->tailRing);
     
    79557959  poly p2_max = (strat->R[strat->S_2_R[atS]])->max;
    79567960
    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)))
    79597963  {
    79607964    return FALSE;
     
    80158019      strat->L[i].ShallowCopyDelete(new_tailRing, p_shallow_copy_delete);
    80168020  }
    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))
    80198023    strat->P.ShallowCopyDelete(new_tailRing, p_shallow_copy_delete);
    80208024
    8021   if (L != NULL && L->tailRing != new_tailRing)
     8025  if ((L != NULL) && (L->tailRing != new_tailRing))
    80228026  {
    80238027    if (L->i_r < 0)
     
    80358039  }
    80368040
    8037   if (T != NULL && T->tailRing != new_tailRing && T->i_r < 0)
     8041  if ((T != NULL) && (T->tailRing != new_tailRing && T->i_r < 0))
    80388042    T->ShallowCopyDelete(new_tailRing, new_tailBin, p_shallow_copy_delete);
    80398043
     
    81408144    return (res);
    81418145  }
    8142  
     8146
    81438147  // not incremental => use Schreyer order
    81448148  // this is done by a trick when initializing the signatures
    81458149  // in initSLSba():
    81468150  // 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
    81488152  // Schreyer order w.r.t. the underlying monomial order.
    81498153  // => we do not need to change the underlying polynomial ring at all!
     
    82468250  }
    82478251  */
    8248  
     8252
    82498253  assume(FALSE);
    82508254  return(NULL);
     
    85538557    if(TEST_OPT_DEGBOUND)
    85548558      Print(" degBound: %d\n", Kstd1_deg);
    8555    
     8559
    85568560    if( ecartWeights != NULL )
    8557     { 
    8558        PrintS("ecartWeights: "); 
     8561    {
     8562       PrintS("ecartWeights: ");
    85598563       for (int i = rVar(currRing); i > 0; i--)
    85608564         Print("%hd ", ecartWeights[i]);
     
    85628566       assume( TEST_OPT_WEIGHTM );
    85638567    }
    8564      
     8568
    85658569#ifndef NDEBUG
    85668570    rDebugPrint(currRing);
Note: See TracChangeset for help on using the changeset viewer.