Changeset 70c8c3 in git


Ignore:
Timestamp:
Feb 8, 2024, 10:11:17 AM (3 months ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
b15c1cfe67ca2bc259900269cce8aaeb069fc1d3
Parents:
284812ccb63cc78a049f1af9db1c740c51bc8eaa
Message:
fix: absprimdec: several bad random values in a row
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdec.lib

    r284812 r70c8c3  
    31833183      string absotto;
    31843184      map sigma,invsigma;
    3185       ideal II,jmap;
     3185      ideal II,jmap,IItmp;
    31863186      nn=nvars(basering);
    31873187      for(ab=1;ab<=size(primary) div 2;ab++)
     
    31983198        {
    31993199          invsigma=basering,maxideal(1);
    3200           jmap=randomLast(50);
    3201           sigma=basering,jmap;
    3202           jmap[nn]=2*var(nn)-jmap[nn];
    3203           invsigma=basering,jmap;
    3204           II=groebner(sigma(II));
     3200          while(1)
     3201          {
     3202            jmap=randomLast(50);
     3203            sigma=basering,jmap;
     3204            jmap[nn]=2*var(nn)-jmap[nn];
     3205            invsigma=basering,jmap;
     3206            IItmp=groebner(sigma(II));
     3207            if (deg(IItmp[1]) == vdim(IItmp))
     3208            {
     3209              II=IItmp;
     3210              break;
     3211            }
     3212          }
    32053213          absotto = absFactorize(II[1],77);
    32063214          II=var(nn);
     
    34003408      if(abspri)
    34013409      {
    3402         ideal II;
     3410        ideal II,IItmp;
    34033411        ideal jmap;
    34043412        map sigma;
     
    34093417          II=uprimary[2*ab];
    34103418          attrib(II,"isSB",1);
    3411           if(deg(II[1])!=vdim(II))
     3419          IItmp=II;
     3420          while(deg(II[1])!=vdim(II))
    34123421          {
    34133422            jmap=randomLast(50);
     
    34153424            jmap[nn]=2*var(nn)-jmap[nn];
    34163425            invsigma=basering,jmap;
    3417             II=groebner(sigma(II));
     3426            II=groebner(sigma(IItmp));
    34183427          }
    34193428          absprimarytmp[ab]= absFactorize(II[1],77);
     
    36983707        if(abspri)
    36993708        {
    3700           ideal II;
     3709          ideal II,IItmp;
    37013710          ideal jmap;
    37023711          map sigma;
     
    37073716            II=uprimary[2*ab];
    37083717            attrib(II,"isSB",1);
    3709             if(deg(II[1])!=vdim(II))
     3718            IItmp=II;
     3719            while(deg(II[1])!=vdim(II))
    37103720            {
    37113721              jmap=randomLast(50);
     
    37133723              jmap[nn]=2*var(nn)-jmap[nn];
    37143724              invsigma=basering,jmap;
    3715               II=groebner(sigma(II));
     3725              II=groebner(sigma(IItmp));
    37163726            }
    37173727            absprimarytmp[ab]= absFactorize(II[1],77);
     
    81168126          if(abspri)
    81178127          {
    8118              ideal II;
     8128             ideal II,IItmp;
    81198129             ideal jmap;
    81208130             map sigma;
     
    81258135                II=uprimary[2*ab];
    81268136                attrib(II,"isSB",1);
    8127                 if(deg(II[1])!=vdim(II))
     8137                IItmp=II;
     8138                while(deg(II[1])!=vdim(II))
    81288139                {
    81298140                   jmap=randomLast(50);
     
    81318142                   jmap[nn]=2*var(nn)-jmap[nn];
    81328143                   invsigma=basering,jmap;
    8133                    II=groebner(sigma(II));
     8144                   II=groebner(sigma(IItmp));
    81348145                 }
    81358146                 absprimarytmp[ab]= absFactorize(II[1],77);
     
    84818492     if(abspri)
    84828493     {
    8483        ideal II;
     8494       ideal II,IItmp;
    84848495       ideal jmap;
    84858496       map sigma;
     
    84908501         II=uprimary[2*ab];
    84918502         attrib(II,"isSB",1);
    8492          if(deg(II[1])!=vdim(II))
     8503         IItmp=II;
     8504         while(deg(II[1])!=vdim(II))
    84938505         {
    84948506           jmap=randomLast(50);
     
    84968508           jmap[nn]=2*var(nn)-jmap[nn];
    84978509           invsigma=basering,jmap;
    8498            II=groebner(sigma(II));
     8510           II=groebner(sigma(IItmp));
    84998511         }
    85008512         absprimarytmp[ab]= absFactorize(II[1],77);
Note: See TracChangeset for help on using the changeset viewer.