Changeset 049b78 in git for Singular


Ignore:
Timestamp:
Apr 11, 2011, 7:09:03 PM (13 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
Children:
4a7c16db46749a1ff4d60c3e2bec50c2b0df1b6c
Parents:
58f1ff5391c1bacd73a916e015bc437b6be11461
Message:
fix primdecint.tst


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/primdecint.lib

    r58f1ff5 r049b78  
    2222 heightZ(I);        compute the height of I
    2323 equidimZ(I);       compute the equidimensional part of I
     24 intersectZ(I,J)    compute the intersection of I and J
    2425";
    2526
     
    232233               if(size(reduce(TES,Q))>0)
    233234               {
    234                   TQ=intersect(TQ,Q);
     235                  TQ=intersectZ(TQ,Q);
     236                  //TQ=intersect(TQ,Q);
    235237                  P[size(P)+1]=list(Q,K);
    236238               }
     
    251253               if(size(reduce(TES,Q))>0)
    252254               {
    253                   //TQ=intersect(TQ,Q);
     255                  //TQ=intersectZ(TQ,Q);
    254256                  P[size(P)+1]=list(Q,K);
    255257               }
     
    260262               JJ=JJ,p;
    261263               JJ=stdZ(JJ);
    262                TQ=intersect(TQ,JJ);
     264               TQ=intersectZ(TQ,JJ);
     265               //TQ=intersect(TQ,JJ);
    263266            }
    264267         }
     
    273276      if(!ex){return(P);}
    274277      J=stdZ(J);
    275       TQ=intersect(TQ,TES);
     278      TQ=intersectZ(TQ,TES);
     279      //TQ=intersect(TQ,TES);
    276280      if(size(reduce(TQ,J))!=0)
    277281      {
     
    280284         ideal W=K;
    281285         m++;
    282          while(size(reduce(intersect(W,TQ),J))!=0)
     286         while(size(reduce(intersectZ(W,TQ),J))!=0)
     287         //while(size(reduce(intersect(W,TQ),J))!=0)
    283288         {
    284289            //W=stdZ(addIdealZ(I,K^m));
     
    358363   ideal I5=9c5,6d5;
    359364   ideal I6=17,a15,b15,c15,d15;
    360    ideal I=intersect(I1,I2);
    361    I=intersect(I,I3);
    362    I=intersect(I,I4);
    363    I=intersect(I,I5);
    364    I=intersect(I,I6);
     365   ideal I=intersectZ(I1,I2);
     366   I=intersectZ(I,I3);
     367   I=intersectZ(I,I4);
     368   I=intersectZ(I,I5);
     369   I=intersectZ(I,I6);
    365370   primdecZ(I);
    366    ideal J=intersect(ideal(17,a),ideal(17,a2,b));
     371   ideal J=intersectZ(ideal(17,a),ideal(17,a2,b));
    367372   primdecZ(J);
    368    ideal K=intersect(ideal(9,a+3),ideal(9,b+3));
     373   ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3));
    369374   primdecZ(K);
    370375}
     
    494499   ideal I5=9c5,6d5;
    495500   ideal I6=17,a15,b15,c15,d15;
    496    ideal I=intersect(I1,I2);
    497    I=intersect(I,I3);
    498    I=intersect(I,I4);
    499    I=intersect(I,I5);
    500    I=intersect(I,I6);
     501   ideal I=intersectZ(I1,I2);
     502   I=intersectZ(I,I3);
     503   I=intersectZ(I,I4);
     504   I=intersectZ(I,I5);
     505   I=intersectZ(I,I6);
    501506   minAssZ(I);
    502    ideal J=intersect(ideal(17,a),ideal(17,a2,b));
     507   ideal J=intersectZ(ideal(17,a),ideal(17,a2,b));
    503508   minAssZ(J);
    504    ideal K=intersect(ideal(9,a+3),ideal(9,b+3));
     509   ideal K=intersectZ(ideal(9,a+3),ideal(9,b+3));
    505510   minAssZ(K);
    506511}
     
    590595   ideal I5=9c5,6d5;
    591596   ideal I6=17,a15,b15,c15,d15;
    592    ideal I=intersect(I1,I2);
    593    I=intersect(I,I3);
    594    I=intersect(I,I4);
    595    I=intersect(I,I5);
    596    I=intersect(I,I6);
     597   ideal I=intersectZ(I1,I2);
     598   I=intersectZ(I,I3);
     599   I=intersectZ(I,I4);
     600   I=intersectZ(I,I5);
     601   I=intersectZ(I,I6);
    597602   heightZ(I);
    598603}
     
    647652         B=B,p;
    648653         B=stdZ(B);
    649          K=stdZ(intersect(K,B));
     654         K=stdZ(intersectZ(K,B));
     655         //K=stdZ(intersect(K,B));
    650656         setring Rhelp;
    651657      }
     
    675681   {
    676682      ideal M=radicalZ(J);
    677       K=intersect(K,M);
     683      K=intersectZ(K,M);
     684      //K=intersect(K,M);
    678685   }
    679686   return(K);
     
    688695   ideal I5=9c5,6d5;
    689696   ideal I6=17,a15,b15,c15,d15;
    690    ideal I=intersect(I1,I2);
    691    I=intersect(I,I3);
    692    I=intersect(I,I4);
    693    I=intersect(I,I5);
    694    I=intersect(I,I6);
     697   ideal I=intersectZ(I1,I2);
     698   I=intersectZ(I,I3);
     699   I=intersectZ(I,I4);
     700   I=intersectZ(I,I5);
     701   I=intersectZ(I,I6);
    695702   radicalZ(I);
    696    ideal J=intersect(ideal(17,a),ideal(17,a2,b));
     703   ideal J=intersectZ(ideal(17,a),ideal(17,a2,b));
    697704   radicalZ(J);
    698705}
     
    804811                  N=stdZ(N);
    805812                  Q=extractZ(N,j,IS,B);
    806                   TQ=intersect(TQ,Q);
     813                  TQ=intersectZ(TQ,Q);
     814                  //TQ=intersect(TQ,Q);
    807815               }
    808816               setring Rhelp;
     
    817825               E=E,p;
    818826               E=stdZ(E);
    819                TQ=intersect(TQ,E);
     827               TQ=intersectZ(TQ,E);
     828               //TQ=intersect(TQ,E);
    820829            }
    821830         }
     
    854863       if(he==heightZ(M))
    855864       {
    856           E=intersect(M,E);
     865          E=intersectZ(M,E);
     866          //E=intersect(M,E);
    857867       }
    858868   }
     
    868878   ideal I5=9c5,6d5;
    869879   ideal I6=17,a15,b15,c15,d15;
    870    ideal I=intersect(I1,I2);
    871    I=intersect(I,I3);
    872    I=intersect(I,I4);
    873    I=intersect(I,I5);
    874    I=intersect(I,I6);
     880   ideal I=intersectZ(I1,I2);
     881   I=intersectZ(I,I3);
     882   I=intersectZ(I,I4);
     883   I=intersectZ(I,I5);
     884   I=intersectZ(I,I6);
    875885   equidimZ(I);
     886}
     887
     888////////////////////////////////////////////////////////////////////////////////
     889
     890proc intersectZ(ideal I, ideal J)
     891"USAGE:  intersectZ(I,J); I,J ideals
     892RETURN:  the intersection of the input ideals
     893NOTE:    this is needed because intersect(I,J) does not work, should be replaced
     894         by intersect later
     895EXAMPLE: example intersectZ; shows an example
     896{
     897   def R = basering;
     898   execute("ring S=integer,(t,"+varstr(R)+"),(dp(1),dp(nvars(R)));");
     899   ideal I=imap(R,I);
     900   ideal J=imap(R,J);
     901   ideal K=addIdealZ(t*I,(1-t)*J);
     902   K=stdZ(K);
     903   int i;
     904   ideal L;
     905   for(i=1;i<=size(K);i++)
     906   {
     907      if(lead(K[i])/t==0){L[size(L)+1]=K[i];}
     908   }
     909   setring R;
     910   ideal L=imap(S,L);
     911   return(L);
     912}
     913example
     914{ "EXAMPLE:";  echo = 2;
     915   ring R=integer,(a,b,c,d),dp;
     916   ideal I1=9,a,b;
     917   ideal I2=3,c;
     918   ideal I3=11,2a,7b;
     919   ideal I4=13a2,17b4;
     920   ideal I5=9c5,6d5;
     921   ideal I6=17,a15,b15,c15,d15;
     922   ideal I=intersectZ(I1,I2); I;
     923   I=intersectZ(I,I3); I;
     924   I=intersectZ(I,I4); I;
     925   I=intersectZ(I,I5); I;
     926   I=intersectZ(I,I6); I;
    876927}
    877928
     
    12191270   def R=basering;
    12201271   int i;
    1221    ideal K=intersect(I,ideal(f));
     1272   ideal K=intersectZ(I,ideal(f));
     1273   //ideal K=intersect(I,ideal(f));
    12221274   //=== K[i]/f; does not work in rings with integer! This should be replaced
    12231275   //=== later
     
    12441296   for(i=2;i<=size(J);i++)
    12451297   {
    1246       K=intersect(K,quotientOneZ(I,J[i]));
     1298      K=intersectZ(K,quotientOneZ(I,J[i]));
     1299      //K=intersect(K,quotientOneZ(I,J[i]));
    12471300   }
    12481301   return(K);
     
    13361389   for(i=2;i<=size(L);i++)
    13371390   {
    1338       K=intersect(K,L[i][1]);
     1391      K=intersectZ(K,L[i][1]);
     1392      //K=intersect(K,L[i][1]);
    13391393   }
    13401394   i=size(reduce(K,stdZ(I)))+size(reduce(I,stdZ(K)));
     
    14871541        x(1)*x(4)^3*x(5),
    14881542        x(4)^4*x(5);
    1489       I=intersect(I,ideal(64*181,x(1)^2));
     1543      I=intersectZ(I,ideal(64*181,x(1)^2));
    14901544
    14911545ring R17=integer,(x,y,z),dp;
Note: See TracChangeset for help on using the changeset viewer.