Changeset f4031a in git


Ignore:
Timestamp:
Sep 8, 2010, 7:49:45 PM (14 years ago)
Author:
Anne Frühbis-Krüger <anne@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
03135cb6afca63d221d52f7d8eb1b0bc0a147f52
Parents:
3b614ecf39de68c3a807a600dd27a5329966b5cd
Message:
anne: cleanup of miscellaneous redefines in less frequently used parts of resjung.lib

git-svn-id: file:///usr/local/Singular/svn/trunk@13161 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/resjung.lib

    r3b614e rf4031a  
    4444  int n = nvars(A);
    4545  list l = equidim(id);
     46  int i,j;
    4647  int k = size(l);
    4748  ideal LastTwo = var(n-1),var(n);
    4849  ideal lowdim = 1;   //the components of id with dimension smaller 2
    4950  if(k>1){
    50     for(int j=1;j<k;j++){
     51    for(j=1;j<k;j++){
    5152      lowdim = intersect(lowdim,l[j]);
    5253    }
    53     kill j;
    5454  }
    55   kill k;
    5655  //lowdim = radical(lowdim);  // affects performance
    5756  ideal I = l[size(l)]; 
    5857  poly product=1;
    5958  kill l; 
    60   for(int i=1; i < n-1; i++){
     59  for(i=1; i < n-1; i++){
    6160  //elimination of all variables exept var(i),var(n-1),var(n)
    6261    intvec v;
    63     for(int j=1; j < n-1; j++){
     62    for(j=1; j < n-1; j++){
    6463      if(j<>i){
    6564        v[j]=1;
     
    7170    v[size(v)+1]=0;
    7271    v[size(v)+1]=0;
     72    if(defined(ringl)) {kill ringl;}
    7373    list ringl = ringlist(A);
    7474    list l;
     
    9090    if(attrib(J,"isPrincipal")==0){
    9191      setring R;
    92       for(int j = 1;j<=size(J);j++){   //determines the monic polynomial in var(i) with coefficents in C2
     92      for(j = 1;j<=size(J);j++){   //determines the monic polynomial in var(i) with coefficents in C2
     93        if(defined(w)) {kill w;}
    9394        intvec w = leadexp(J[j]);
    9495        attrib(w,"isMonic",1);
    95         for(int k = 1;k<=size(w);k++){
     96        for(k = 1;k<=size(w);k++){
    9697          if(w[k] <> 0 && k <> i){
    9798            attrib(w,"isMonic",0);
     
    99100          }
    100101        }
    101         kill k;
    102102        if(attrib(w,"isMonic")==1){
    103103          index = j;
     
    106106        kill w;
    107107      }
    108       kill j;
    109108      setring A;
    110109    }
     
    138137proc buildFP(list embR,ideal NoetherN, map phi){
    139138  def A = basering;
     139  int i,j,k;
    140140  list fibreP;
    141141  int n = nvars(A);
    142   for(int i=1;i<=size(embR);i++){
     142  for(i=1;i<=size(embR);i++){
     143    if(defined(R)) {kill R;}
    143144    def R = embR[i];
    144145    setring R;
     
    146147// create data for the new ring
    147148// e.g. if A=K[x_1,..,x_n] and R=K[y_1,..,y_m], K[x_1,..,x_n-2,y_1,..,y_m]
    148     for(int j = 1; j<= nvars(R);j++){
     149    for(j = 1; j<= nvars(R);j++){
    149150       string st = string(var(j));
    150151       temp[2][n-2+j] = st;
     
    159160    setring R2;
    160161    ideal Temp=0;           //defines map from R to R2 which is the inclusion
    161     for(int k=n-1;k<n-1+nvars(R);k++){
     162    for(k=n-1;k<n-1+nvars(R);k++){
    162163      Temp = Temp + ideal(var(k));
    163164    }
    164165    map f = R,Temp;
    165     kill Temp,k;
     166    kill Temp;
    166167    ideal FibPMI = ideal(0);       //defines the map from A to R2
    167     for(int k=1;k<=nvars(A)-m;k++){
     168    for(k=1;k<=nvars(A)-m;k++){
    168169      FibPMI=FibPMI+var(k);
    169170    }
     
    179180    fibreP[i] = R2;
    180181    setring R;
    181     kill J,R,R2,k,j,m;
     182    kill J,R,R2,m;
    182183  }
    183184  return(fibreP);
     
    219220    for(int i = 1;i<=size(result);i++){       
    220221// had zero dimensional components which are now added to the end result
     222      if(defined(R)) {kill R;}
    221223      def R = result[i];
    222224      setring R;
     
    245247// to our situation
    246248  def H = basering;
     249  int i,j,k;
    247250  setring H;  attrib(BO[2],"smoothC",0);
    248251  export(BO);
     
    255258    int count2 = 0;         // counts the number of smooth charts
    256259    int p = size(result);
    257     for(int j = 1;j<=p;j++){
     260    for(j = 1;j<=p;j++){
    258261      if(attrib(result[j],"isResolved")==0){
    259262        if(defined(R)){kill R;}
     
    264267          list primdecPC = primdecGTZ(BO[2]);
    265268          attrib(result[j],"smoothC",1);
    266           for(int i = 1;i<=size(primdecPC);i++){
     269          for(i = 1;i<=size(primdecPC);i++){
    267270            ideal Sl = groebner(slocus(primdecPC[i][2]));
    268271            if(deg(NF(1,Sl))!=-1){
     
    280283// if we blew up a non rational singularity, the exeptional divisors
    281284// are reduzible, so we need to separate them
    282                 for(int k=1;k<=size(blowup);k++){
     285                for(k=1;k<=size(blowup);k++){
    283286                  def R2=blowup[k];
    284287                  setring R2;
     
    294297                  kill L,R2;
    295298                }
    296                 kill k;
    297299              }
    298300              kill primdecSL;
    299301              list hlp;
    300               for(int k = 1;k<j;k++){
     302              for(k = 1;k<j;k++){
    301303                hlp[k]=result[k];
    302304                attrib(hlp[k],"isResolved",attrib(result[k],"isResolved"));
    303305                attrib(hlp[k],"smoothC",attrib(result[k],"smoothC"));
    304306              }
    305               kill k;
    306               for(int k =1;k<=size(blowup);k++){
     307              for(k =1;k<=size(blowup);k++){
    307308                hlp[size(hlp)+1]=blowup[k];
    308309                attrib(hlp[size(hlp)],"isResolved",0);
    309310                attrib(hlp[size(hlp)],"smoothC",0);
    310311              }
    311               kill k;
    312               for(int k = j+1;k<=size(result);k++){
     312              for(k = j+1;k<=size(result);k++){
    313313                hlp[size(hlp)+1]=result[k];
    314314                attrib(hlp[size(hlp)],"isResolved",attrib(result[k],"isResolved"));
     
    316316              }
    317317              result = hlp;
    318               kill hlp,k;
     318              kill hlp;
    319319              i=size(primdecPC);
    320320            }
     
    324324            kill Sl;
    325325          }
    326           kill i,primdecPC;
     326          kill primdecPC;
    327327          j=p;
    328328          break;
     
    333333          int count = 0;
    334334          ideal Collect = BO[2];
    335           for(int i = 1;i<=size(BO[4]);i++){
     335          for(i = 1;i<=size(BO[4]);i++){
    336336            Collect = Collect*BO[4][i];
    337337          }
    338338          list primdecSL = primdecGTZ(slocus(Collect));
    339           for(int k = 1;k<=size(primdecSL);k++){
     339          for(k = 1;k<=size(primdecSL);k++){
    340340             attrib(primdecSL[k],"isRational",1);
    341341          }
    342           kill k;
    343342          if(defined(blowup)){kill blowup;}
    344343          list blowup = blowUpBO(BO,primdecSL[1][2],3);
    345344          if(attrib(primdecSL[1],"isRational")==0){
    346             for(int k=1;k<=size(blowup);k++){
     345            for(k=1;k<=size(blowup);k++){
    347346              def R2=blowup[k];
    348347              setring R2;
     
    358357              kill L,R2;
    359358            }
    360             kill k;
    361359          }
    362           kill Collect,i;
    363           for(int i=1;i<=size(primdecSL);i++){
     360          kill Collect;
     361          for(i=1;i<=size(primdecSL);i++){
    364362            list L = BO[4];
    365363            L[size(L)+1]=BO[2];
     
    372370              list blowup = blowUpBO(BO,primdecSL[i][2],3);
    373371              list hlp;
    374               for(int k = 1;k<j;k++){
     372              for(k = 1;k<j;k++){
    375373                hlp[k]=result[k];
    376374                attrib(hlp[k],"isResolved",attrib(result[k],"isResolved"));
    377375                attrib(hlp[k],"smoothC",attrib(result[k],"smoothC"));
    378376              }
    379               kill k;
    380               for(int k =1;k<=size(blowup);k++){
     377              for(k =1;k<=size(blowup);k++){
    381378                hlp[size(hlp)+1]=blowup[k];
    382379                attrib(hlp[size(hlp)],"isResolved",0);
    383380                attrib(hlp[size(hlp)],"smoothC",1);
    384381              }
    385               kill k;
    386               for(int k = j+1;k<=size(result);k++){
     382              for(k = j+1;k<=size(result);k++){
    387383                hlp[size(hlp)+1]=result[k];
    388384                attrib(hlp[size(hlp)],"isResolved",attrib(result[k],"isResolved"));
     
    390386              }
    391387              result = hlp;
    392               kill hlp,k;
     388              kill hlp;
    393389              j = p;
    394390              break;
     
    399395            kill L;
    400396          }
    401           kill i;
    402397          if(count == size(primdecSL)){
    403398            attrib(result[j],"isResolved",1);
     
    414409      break;
    415410    }
    416     kill count2,j,p;
     411    kill count2,p;
    417412    safety++;
    418413  }
     
    437432"
    438433{
     434  int i;
    439435  if(!defined(noeth)){
    440436    int noeth = 0;
     
    472468      else{
    473469        ideal NoetherPos = var(pos);
    474         for(int i = 1;i<=3;i++){
     470        for(i = 1;i<=3;i++){
    475471          if(i<>pos){
    476472            NoetherPos = NoetherPos + var(i);
     
    501497    list nor = normal(NoetherN);
    502498    list result;
    503     for(int i = 1;i<=size(nor);i++){
    504       def R = nor[i];
     499    for(i = 1;i<=size(nor[1]);i++){
     500      def R = nor[1][i];
    505501      setring R;
    506502      ideal QIdeal = norid;
     
    547543  list fibreP = jungfib(id,noeth);
    548544  list result;
    549   for(int i =1;i<=size(fibreP);i++){
     545  int i,j;
     546  for(i =1;i<=size(fibreP);i++){
    550547    def R1 = fibreP[i];
    551548    setring R1;
    552549    map f1 = A,BMap;
    553     list nor = normal(QIdeal);
    554     for(int j = 1;j<=size(nor);j++){
    555       def R2 = nor[j];
     550    def nor = normal(QIdeal);
     551    for(j = 1;j<=size(nor[1]);j++){
     552      def R2 = nor[1][j];
    556553      setring R2;
    557554      map f2 = R1,normap;
     
    561558      export(QIdeal);
    562559      result[size(result)+1] = R2;
    563       kill R2,f2;
    564     }
    565     kill j,nor,R1;
     560      setring R1;
     561      kill R2;
     562    }
     563    kill R1;
    566564  }
    567565  return(result);
     
    602600  def A = basering;
    603601  list result;
     602  int i,j;
    604603  list nor = jungnormal(id,noeth);
    605   for(int i = 1;i<=size(nor);i++){
     604  for(i = 1;i<=size(nor);i++){
    606605    if(defined(R)){kill R;}
    607606    def R3 = nor[i];
     
    614613    if(QIdeal <> 0){
    615614      list res = resolve(QIdeal);
    616       for(int j =1;j<=size(res[1]);j++){
     615      for(j =1;j<=size(res[1]);j++){
    617616        def R2 = res[1][j];
    618617        setring R2;
     
    628627        kill R2;
    629628      }
    630       kill j,res;
     629      kill res;
    631630    }
    632631    else{
     
    654653  def A = basering;
    655654  list ringA=ringlist(A);
     655  int i,j,k;
    656656  int index = 0;
    657657  if(size(id)==1 && nvars(A)){  // test if V(id) = C[x,y,z]/<f>
     
    662662    kill v;
    663663    poly f = id[1];
    664     int j = 0;
    665     for(int i = 1;i<=3;i++){
     664    for(i = 1;i<=3;i++){
    666665      setring A;
    667666      list l = ringA;  //change ordering to lp and var(i)>var(j) j!=i
     
    680679      intvec v = leadexp(I[1]);
    681680      attrib(v,"isMonic",1);
    682       if(defined(k)){kill k;}
    683       for(int k = 2;k<=3;k++){ 
     681      for(k = 2;k<=3;k++){ 
    684682// checks whether f is monic in var(i)
    685683        if(v[k] <> 0 || v[1] == 0){
     
    689687        }
    690688      }
    691       kill k;
    692689      if(attrib(v,"isMonic")==1){
    693690        index = i;
     
    791788  ideal BMap= maxideal(1);
    792789  export(BMap);
     790  int i,j;
    793791  export(QIdeal);
    794792  if(dim(QIdeal)<>2){
     
    803801    if(defined(count)){kill count;}
    804802    int count =0;
    805     for(int i = 1;i<= size(result);i++){
     803    for(i = 1;i<= size(result);i++){
    806804      attrib(result[i],"isSmooth",1);
    807805      def R = result[i];
     
    823821      kill R;
    824822    }
    825     kill i;
    826823    if(count == size(result)){return(result);}
    827824    count = 0;
    828825    list hlp;
    829     for(int i = 1;i<=size(result);i++){
     826    for(i = 1;i<=size(result);i++){
    830827      if(attrib(result[i],"isSmooth")==1){
    831828        hlp[size(hlp)+1] = result[i];
     
    840837      list nor = normal(QIdeal);
    841838      //print(N2);
    842       for(int j = 1;j<= size(nor);j++){
    843         def R3 = nor[j];
     839      for(j = 1;j<= size(nor[1]);j++){
     840        def R3 = nor[1][j];
    844841        setring R3;
    845842        def R2 = changeord("dp");
Note: See TracChangeset for help on using the changeset viewer.