Changeset e801fe in git for Singular/LIB/normal.lib


Ignore:
Timestamp:
Feb 16, 1998, 1:07:04 PM (26 years ago)
Author:
Gerhard Pfister <pfister@…>
Branches:
(u'spielwiese', 'e7cc1ebecb61be8b9ca6c18016352af89940b21a')
Children:
1e7d8d9fbdaf1094cc869ca3a6be98b9e1fbfc9a
Parents:
437e2c21158af6efe6402cc1da62ee40760c03e0
Message:
* updated invar.lib normal.lib, merged prim_dec.lib with primdec.lib


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

Legend:

Unmodified
Added
Removed
  • Singular/LIB/normal.lib

    r437e2c2 re801fe  
    1 // $Id: normal.lib,v 1.1 1997-11-05 18:16:55 Singular Exp $
    21///////////////////////////////////////////////////////////////////////////////
    32// normal.lib
     
    109
    1110  normal(ideal I)
    12   // computes a set of rings such that their product is the
    13   // normalization of the reduced basering/I
    14 
    15 LIB "sing.lib";
     11  // computes a set of rings such that their product is the 
     12  // normalization of the reduced basering/I 
     13
     14LIB "sing.lib"; 
    1615LIB "primdec.lib";
    1716LIB "elim.lib";
     
    2726         p    = nonzero divisor of R
    2827RETURN:  1 if R = R:J, 0 if not
    29 EXAMPLE: example isR_HomJR;  shows an example
     28EXAMPLE: example isR_HomJR;  shows an example   
    3029{
    3130   int n, ii;
     
    4342   n=1;
    4443   for (ii=1; ii<=size(f); ii++ )
    45    {
    46       if ( reduce(f[ii],lp) != 0)
     44   { 
     45      if ( reduce(f[ii],lp) != 0) 
    4746      { n = 0; break; }
    4847   }
     
    7372NOTE:    This is useful when enlarging P but keeping the weights of the old
    7473         variables
    75 EXAMPLE: example extraweight;  shows an example
     74EXAMPLE: example extraweight;  shows an example   
    7675{
    7776   int ii,q,fi,fo,fia;
     
    8887      os = osP[fi+1,find(osP,")",fi)-fi-1];
    8988      if( find(os,",") )
    90       {
     89      { 
    9190         execute "nw = "+os+";";
    9291         if( size(nw) > ii )
     
    101100      {
    102101         execute "q = "+os+";";
    103          if( q > ii )
    104          {
     102         if( q > ii ) 
     103         { 
    105104            nw = 0; nw[q-ii] = 0;
    106105            nw = nw + 1;          //creates an intvec 1,...,1 of length q-ii
     
    114113   }
    115114//-------------- adjust weight vector to length = nvars(P)  -------------------
    116    if( fo > 1 )
     115   if( fo > 1 ) 
    117116   {                                            // case when weights were found
    118       rw = rw[2..size(rw)];
    119       if( size(rw) > nvars(P) )
    120       {
    121          rw = rw[1..nvars(P)];
    122       }
    123       if( size(rw) < nvars(P) )
    124       {
    125          nw=0; nw[nvars(P)-size(rw)]=0; nw=nw+1; rw=rw,nw;
    126       }
    127    }
    128    else
     117      rw = rw[2..size(rw)]; 
     118      if( size(rw) > nvars(P) ) 
     119      { 
     120         rw = rw[1..nvars(P)]; 
     121      }
     122      if( size(rw) < nvars(P) ) 
     123      { 
     124         nw=0; nw[nvars(P)-size(rw)]=0; nw=nw+1; rw=rw,nw; 
     125      }
     126   }
     127   else 
    129128   {                                         // case when no weights were found
    130       rw[nvars(P)]= 0; rw=rw+1;
     129      rw[nvars(P)]= 0; rw=rw+1; 
    131130   }
    132131   return(rw);
     
    158157         R is the quotient ring of P modulo the standard basis SBid
    159158RETURN:  a list of two objects
    160          _[1]: a polynomial ring, containing two ideals, 'endid' and 'endphi'
     159         _[1]: a polynomial ring, containing two ideals, 'endid' and 'endphi' 
    161160               s.t. _[1]/endid = Hom_R(J,J) and
    162161               endphi describes the canonical map R -> Hom_R(J,J)
    163162         _[2]: an integer which is 1 if phi is an isomorphism, 0 if not
    164 EXAMPLE: example HomJJ;  shows an example
     163EXAMPLE: example HomJJ;  shows an example   
    165164{
    166165//---------- initialisation ---------------------------------------------------
     
    180179
    181180//---- set attributes for special cases where algorithm can be simplified -----
    182    if( homo==1 )
    183    {
     181   if( homo==1 ) 
     182   { 
    184183      rw = extraweight(P);
    185184   }
     
    213212
    214213//---------- computation of p*Hom(J,J) as R-ideal -----------------------------
    215    f  = quotient(p*J,J);
    216    if(y==1)
    217    {
     214   f  = quotient(p*J,J); 
     215   if(y==1)     
     216   {               
    218217      "the module Hom(rad(J),rad(J)) presented by the values on";
    219218      "the non-zerodivisor";
     
    238237   rf = interred(reduce(f,f2));       // represents p*Hom(J,J)/p*R = Hom(J,J)/R
    239238   if ( size(rf) == 0 )
    240    {
     239   { 
    241240      if ( homog(f) && find(ordstr(basering),"s")==0 )
    242241      {
    243          ring newR1 = char(P),(X(1..nvars(P))),(a(rw),dp);
     242         ring newR1 = char(P),(X(1..nvars(P))),(a(rw),dp); 
    244243      }
    245244      else
    246245      {
    247          ring newR1 = char(P),(X(1..nvars(P))),dp;
     246         ring newR1 = char(P),(X(1..nvars(P))),dp; 
    248247      }
    249248      ideal endphi = maxideal(1);
    250       ideal endid = fetch(P,id);
     249      ideal endid = fetch(P,id); 
    251250      attrib(endid,"isCohenMacaulay",isCo);
    252251      attrib(endid,"isPrim",isPr);
     
    301300   q = size(f);
    302301   syzf = syz(f);
    303 
     302       
    304303   if ( homo==1 )
    305304   {
     
    307306      for ( ii=2; ii<=q; ii++ )
    308307      {
    309          rw  = rw, deg(f[ii])-deg(f[1]);
    310          rw1 = rw1, deg(f[ii])-deg(f[1]);
    311       }
    312       ring newR1 = char(R),(X(1..nvars(R)),T(1..q)),(a(rw1),dp);
     308         rw  = rw, deg(f[ii])-deg(f[1]);       
     309         rw1 = rw1, deg(f[ii])-deg(f[1]);       
     310      }
     311      ring newR1 = char(R),(X(1..nvars(R)),T(1..q)),(a(rw1),dp); 
    313312   }
    314313   else
    315314   {
    316       ring newR1 = char(R),(X(1..nvars(R)),T(1..q)),dp;
     315      ring newR1 = char(R),(X(1..nvars(R)),T(1..q)),dp; 
    317316   }
    318317
     
    320319   ideal SBid = psi1(SBid);
    321320   attrib(SBid,"isSB",1);
    322 
     321   
    323322 qring newR = std(SBid);
    324323   map psi = R,ideal(X(1..nvars(R)));
     
    331330
    332331//---------- computation of Hom(J,J) as ring ----------------------------------
    333 // determine kernel of: R[T1,...,Tq] -> J:J >-> R[1/p]=R[t]/(t*p-1),
     332// determine kernel of: R[T1,...,Tq] -> J:J >-> R[1/p]=R[t]/(t*p-1), 
    334333// Ti -> fi/p -> t*fi (p=f1=f[1]), to get ring structure. This is of course
    335334// the same as the kernel of R[T1,...,Tq] -> pJ:J >-> R, Ti -> fi.
     
    339338   pf = f[1]*f;
    340339   T = matrix(ideal(T(1..q)),1,q);
    341    Lin = ideal(T*syzf);
     340   Lin = ideal(T*syzf); 
    342341   if(y==1)
    343342   {
     
    374373   else
    375374   {
    376       ring newRing = char(R),(X(1..nvars(R)),T(2..q)),dp;
     375      ring newRing = char(R),(X(1..nvars(R)),T(2..q)),dp; 
    377376   }
    378377
     
    381380
    382381   map phi = basering,maxideal(1);
    383    list Le = elimpart(endid);
     382   list Le = elimpart(endid); 
    384383           //this proc and the next loop try to
    385384   q = size(Le[2]);                 //substitute as many variables as possible
    386    rw1 = 0;
     385   rw1 = 0;                     
    387386   rw1[nvars(basering)] = 0;
    388387   rw1 = rw1+1;
     
    395394      kill ps;
    396395
    397       for( ii=1; ii<=size(rw1); ii++ )
    398       {
    399          if( Le[4][ii]==0 )
    400          {
     396      for( ii=1; ii<=size(rw1); ii++ ) 
     397      { 
     398         if( Le[4][ii]==0 ) 
     399         { 
    401400            rw1[ii]=0;                             //look for substituted vars
    402401         }
     
    404403      Le=elimpart(endid);
    405404      q = q + size(Le[2]);
    406    }   
     405   }     
    407406   endphi = phi(endphi);
    408407
     
    412411
    413412   if (homo==1 && nvars(newRing)-q >1 && size(endid) >0 )
    414    {
     413   {                           
    415414      jj=1;
    416415      for( ii=2; ii<size(rw1); ii++)
    417       {
     416      { 
    418417         jj++;
    419          if( rw1[ii]==0 )
    420          {
     418         if( rw1[ii]==0 ) 
     419         { 
    421420            rw=rw[1..jj-1],rw[jj+1..size(rw)];
    422             jj=jj-1;
     421            jj=jj-1; 
    423422         }
    424423      }
     
    430429   else
    431430   {
    432       ring lastRing = char(R),(T(1..nvars(newRing)-q)),dp;
    433    }
    434 
    435    ideal lastmap;
     431      ring lastRing = char(R),(T(1..nvars(newRing)-q)),dp; 
     432   }
     433
     434   ideal lastmap; 
    436435   q = 1;
    437436   for(ii=1; ii<=size(rw1); ii++ )
     
    439438      if ( rw1[ii]==1 ) { lastmap[ii] = T(q); q=q+1; }
    440439      if ( rw1[ii]==0 ) { lastmap[ii] = 0; }
    441    }
     440   }     
    442441   map phi = newRing,lastmap;
    443442   ideal endid  = phi(endid);
     
    490489  list L   = HomJJ(Li);
    491490  def end = L[1];      // defines ring L[1], containing ideals endid and endphi
    492   setring end;         // makes end the basering
     491  setring end;         // makes end the basering 
    493492  end;
    494493  endid;               // end/endid is isomorphic to End(r/id) as ring
     
    496495  psi;
    497496
    498   ring r   = 32003,(x,y,z),dp;
     497  ring r   = 32003,(x,y,z),dp; 
    499498  ideal id = x2-xy-xz+yz;
    500499  ideal J =y-z,x-z;
     
    503502  list L   = HomJJ(Li,0);
    504503  def end = L[1];      // defines ring L[1], containing ideals endid and endphi
    505   setring end;         // makes end the basering
     504  setring end;         // makes end the basering 
    506505  end;
    507506  endid;               // end/endid is isomorphic to End(r/id) as ring
     
    528527      if( typeof(attrib(id,"isEquidimensional"))=="int" )
    529528      {
    530         if(attrib(id,"isEquidimensional")==1)
     529        if(attrib(id,"isEquidimensional")==1) 
    531530        {
    532            attrib(prim[1],"isEquidimensional",1);
     531           attrib(prim[1],"isEquidimensional",1); 
    533532        }
    534533      }
     
    539538      if( typeof(attrib(id,"isCompleteIntersection"))=="int" )
    540539      {
    541         if(attrib(id,"isCompleteIntersection")==1)
     540        if(attrib(id,"isCompleteIntersection")==1) 
    542541        {
    543            attrib(prim[1],"isCompleteIntersection",1);
     542           attrib(prim[1],"isCompleteIntersection",1); 
    544543        }
    545544      }
     
    548547         attrib(prim[1],"isCompleteIntersection",0);
    549548      }
    550 
     549     
    551550      if( typeof(attrib(id,"isPrim"))=="int" )
    552551      {
     
    559558      if( typeof(attrib(id,"isIsolatedSingularity"))=="int" )
    560559      {
    561          if(attrib(id,"isIsolatedSingularity")==1)
     560         if(attrib(id,"isIsolatedSingularity")==1) 
    562561             {attrib(prim[1],"isIsolatedSingularity",1); }
    563562      }
    564563      else
    565564      {
    566          attrib(prim[1],"isIsolatedSingularity",0);
     565         attrib(prim[1],"isIsolatedSingularity",0);       
    567566      }
    568567      if( typeof(attrib(id,"isCohenMacaulay"))=="int" )
    569568      {
    570          if(attrib(id,"isCohenMacaulay")==1)
     569         if(attrib(id,"isCohenMacaulay")==1) 
    571570           { attrib(prim[1],"isCohenMacaulay",1); }
    572571      }
    573572      else
    574573      {
    575          attrib(prim[1],"isCohenMacaulay",0);
     574         attrib(prim[1],"isCohenMacaulay",0);       
    576575      }
    577576      if( typeof(attrib(id,"isRegInCodim2"))=="int" )
     
    582581      else
    583582      {
    584           attrib(prim[1],"isRegInCodim2",0);
     583          attrib(prim[1],"isRegInCodim2",0);       
    585584      }
    586585      return(normalizationPrimes(prim[1],maxideal(1)));
     
    616615         if( typeof(attrib(id,"isEquidimensional"))=="int" )
    617616         {
    618            if(attrib(id,"isEquidimensional")==1)
     617           if(attrib(id,"isEquidimensional")==1) 
    619618           {
    620               attrib(prim[i],"isEquidimensional",1);
     619              attrib(prim[i],"isEquidimensional",1); 
    621620           }
    622621         }
     
    624623         {
    625624            attrib(prim[i],"isEquidimensional",0);
    626          }
     625         }     
    627626         if( typeof(attrib(id,"isIsolatedSingularity"))=="int" )
    628627         {
    629             if(attrib(id,"isIsolatedSingularity")==1)
     628            if(attrib(id,"isIsolatedSingularity")==1) 
    630629             {attrib(prim[i],"isIsolatedSingularity",1); }
    631630         }
    632631         else
    633632         {
    634             attrib(prim[i],"isIsolatedSingularity",0);
     633            attrib(prim[i],"isIsolatedSingularity",0);       
    635634         }
    636 
     635   
    637636         keepresult=normalizationPrimes(prim[i],maxideal(1));
    638637         for(j=1;j<=size(keepresult);j++)
     
    688687         ideal PP=fetch(BAS,ihp);
    689688         export PP;
    690          export KK;
     689         export KK;     
    691690         result=newR7;
    692691         setring BAS;
     
    859858  //    if((dim(SM[1]))==depth)
    860859  //    {
    861   //    attrib(SM[2],"isCohenMacaulay",1);
     860  //    attrib(SM[2],"isCohenMacaulay",1);   
    862861  //    "it is CohenMacaulay";
    863   //    }
     862  //    } 
    864863  // }
    865 
     864   
    866865   //compute the singular locus+lower dimensional components
    867866   if(((attrib(SM[2],"isIsolatedSingularity")==0)||(homog(SM[2])==0))
     
    946945            "                                  ";
    947946            maxideal(1);
    948             "                                  ";
     947            "                                  "; 
    949948            "                                  ";
    950949         }
     
    963962  //          export SB,MB;
    964963  //          result=BAS;
    965   //          return(result);
     964  //          return(result); 
    966965  //       }
    967966  //       timer-ti;
     
    972971         if(RR[2]==0)
    973972         {
    974             def newR=RR[1];
     973            def newR=RR[1];     
    975974            setring newR;
    976975            map psi=BAS,endphi;
     
    980979        //    timer-ti;
    981980            setring BAS;
    982             return(tluser);
     981            return(tluser); 
    983982         }
    984983         MB=SM[2];
     
    992991         setring BAS;
    993992         return(result);
    994 
     993 
    995994       }
    996995       else
     
    10261025       }
    10271026   }
    1028 
     1027   
    10291028   //test for non-normality
    10301029   //Hom(I,I)<>R
     
    10521051 //        export SB,MB;
    10531052 //        result=BAS;
    1054  //        return(result);
     1053 //        return(result); 
    10551054 //     }
    10561055 //     timer-ti;
     
    10581057 //     list  RR=SM[1],SM[2],JM[2],SL[1];
    10591058 //     ti=timer;
    1060       list RS;
     1059      list RS;   
    10611060 //   list RS=HomJJ(RR);
    10621061 //   timer-ti;
     
    10681067 //        list tluser=normalizationPrimes(SM);
    10691068 //        setring BAS;
    1070  //        return(tluser);
     1069 //        return(tluser); 
    10711070 //     }
    10721071
     
    10771076      }
    10781077//      ti=timer;
    1079 
     1078     
    10801079
    10811080      if((attrib(JM[2],"isRad")==0)&&(attrib(SM[2],"isEquidimensional")==0))
     
    10831082           //J=radical(JM[2]);
    10841083          J=radical(SM[2]+ideal(SL[1]));
    1085 
     1084         
    10861085          // evtl. test auf J=SM[2]+ideal(SL[1]) dann schon normal
    10871086      }
     
    11031102//    timer-ti;
    11041103
    1105       JM=J,J;
     1104      JM=J,J;       
    11061105
    11071106      //evtl. fuer SL[1] anderen Nichtnullteiler aus J waehlen
     
    11171116        //    keepresult1=insert(keepresult1,keepresult2[lauf]);
    11181117        // }
    1119         // return(keepresult1);
     1118        // return(keepresult1);   
    11201119      // }
    11211120      RR=SM[1],SM[2],JM[2],SL[1];
     
    11401139         export KK;
    11411140         setring BAS;
    1142         // return(RS[1]);
     1141        // return(RS[1]); 
    11431142         return(lastR);
    11441143      }
     
    11531152            // normalizationPrimes(endid);
    11541153      setring BAS;
    1155       return(tluser);
     1154      return(tluser); 
    11561155   }
    11571156   else
     
    11621161                      +ordstr(basering)+");";
    11631162      if(y==1)
    1164       {
     1163      {     
    11651164         "zero-divisor found";
    11661165      }
     
    11801179      }
    11811180      attrib(vid,"isCompleteIntersection",0);
    1182 
     1181   
    11831182      keepresult1=normalizationPrimes(vid,ihp);
    11841183
     
    11891188      execute "ring newR2="+charstr(basering)+",("+varstr(basering)+"),("
    11901189                      +ordstr(basering)+");";
    1191 
     1190 
    11921191      ideal vid=fetch(BAS,new2);
    11931192      ideal ihp=fetch(BAS,ihp);
     
    12131212         keepresult1=insert(keepresult1,keepresult2[lauf]);
    12141213      }
    1215       return(keepresult1);
    1216    }
     1214      return(keepresult1);   
     1215   }   
    12171216}
    12181217example
    12191218{ "EXAMPLE:";echo = 2;
     1219   LIB"normal.lib";
    12201220   //Huneke
    1221   ring qr=31991,(a,b,c,d,e),dp;
    1222   ideal i=
    1223   5abcde-a5-b5-c5-d5-e5,
    1224   ab3c+bc3d+a3be+cd3e+ade3,
    1225   a2bc2+b2cd2+a2d2e+ab2e2+c2de2,
    1226   abc5-b4c2d-2a2b2cde+ac3d2e-a4de2+bcd2e3+abe5,
    1227   ab2c4-b5cd-a2b3de+2abc2d2e+ad4e2-a2bce3-cde5,
    1228   a3b2cd-bc2d4+ab2c3e-b5de-d6e+3abcd2e2-a2be4-de6,
    1229   a4b2c-abc2d3-ab5e-b3c2de-ad5e+2a2bcde2+cd2e4,
    1230   b6c+bc6+a2b4e-3ab2c2de+c4d2e-a3cde2-abd3e2+bce5;
    1231  
    1232   list pr=normal(i);
    1233   def r1=pr[1];
    1234   setring r1;
    1235   KK;
     1221ring qr=31991,(a,b,c,d,e),dp;
     1222ideal i=
     12235abcde-a5-b5-c5-d5-e5,
     1224ab3c+bc3d+a3be+cd3e+ade3,
     1225a2bc2+b2cd2+a2d2e+ab2e2+c2de2,
     1226abc5-b4c2d-2a2b2cde+ac3d2e-a4de2+bcd2e3+abe5,
     1227ab2c4-b5cd-a2b3de+2abc2d2e+ad4e2-a2bce3-cde5,
     1228a3b2cd-bc2d4+ab2c3e-b5de-d6e+3abcd2e2-a2be4-de6,
     1229a4b2c-abc2d3-ab5e-b3c2de-ad5e+2a2bcde2+cd2e4,
     1230b6c+bc6+a2b4e-3ab2c2de+c4d2e-a3cde2-abd3e2+bce5;
     1231
     1232list pr=normal(i);
     1233def r1=pr[1];
     1234setring r1;
     1235KK;
    12361236}
     1237
     1238
     1239
     1240/////////////////////////////////////////////////////////////////////////////
     1241
     1242LIB"normal.lib";
     1243int aa=timer;list pr=normal(i);timer-aa;
     1244
     1245
     1246
     1247//Huneke
     1248ring qr=31991,(a,b,c,d,e),dp;
     1249ideal i=
     12505abcde-a5-b5-c5-d5-e5,
     1251ab3c+bc3d+a3be+cd3e+ade3,
     1252a2bc2+b2cd2+a2d2e+ab2e2+c2de2,
     1253abc5-b4c2d-2a2b2cde+ac3d2e-a4de2+bcd2e3+abe5,
     1254ab2c4-b5cd-a2b3de+2abc2d2e+ad4e2-a2bce3-cde5,
     1255a3b2cd-bc2d4+ab2c3e-b5de-d6e+3abcd2e2-a2be4-de6,
     1256a4b2c-abc2d3-ab5e-b3c2de-ad5e+2a2bcde2+cd2e4,
     1257b6c+bc6+a2b4e-3ab2c2de+c4d2e-a3cde2-abd3e2+bce5;
     1258
     1259
     1260//Vasconcelos
     1261ring r=32003,(x,y,z,w,t),dp;
     1262ideal i=
     1263x2+zw,
     1264y3+xwt,
     1265xw3+z3t+ywt2,
     1266y2w4-xy2z2t-w3t3;
     1267
     1268//Theo1
     1269ring r=32003,(x,y,z),wp(2,3,6);
     1270ideal i=zy2-zx3-x6;
     1271
     1272//Theo2
     1273ring r=32003,(x,y,z),wp(3,4,12);
     1274ideal i=z*(y3-x4)+x8;
     1275
     1276//Theo2a
     1277ring r=32003,(T(1..4)),wp(3,4,12,17);
     1278ideal i=
     1279T(1)^8-T(1)^4*T(3)+T(2)^3*T(3),
     1280T(1)^4*T(2)^2-T(2)^2*T(3)+T(1)*T(4),
     1281T(1)^7+T(1)^3*T(2)^3-T(1)^3*T(3)+T(2)*T(4),
     1282T(1)^6*T(2)*T(3)+T(1)^2*T(2)^4*T(3)+T(1)^3*T(2)^2*T(4)-T(1)^2*T(2)*T(3)^2+T(4)^2;
     1283
     1284//Theo3
     1285ring r=32003,(x,y,z),wp(3,5,15);
     1286ideal i=z*(y3-x5)+x10;
     1287
     1288
     1289//Theo4
     1290ring r=32003,(x,y,z),dp;
     1291ideal i=(x-y)*(x-z)*(y-z);
     1292
     1293//Theo5
     1294ring r=32003,(x,y,z),wp(2,1,2);
     1295ideal i=z3-xy4;
     1296
     1297//Theo6
     1298ring r=32003,(x,y,z),dp;
     1299ideal i=x2y2+x2z2+y2z2;
     1300
     1301ring r=32003,(a,b,c,d,e,f),dp;
     1302ideal i=
     1303bf,
     1304af,
     1305bd,
     1306ad;
     1307
     1308//Beispiel, wo vorher Primaerzerlegung schneller
     1309//ist CM
     1310//Sturmfels
     1311ring r=32003,(b,s,t,u,v,w,x,y,z),dp;
     1312ideal i=
     1313bv+su,
     1314bw+tu,
     1315sw+tv,
     1316by+sx,
     1317bz+tx,
     1318sz+ty,
     1319uy+vx,
     1320uz+wx,
     1321vz+wy,
     1322bvz;
     1323
     1324//J S/Y
     1325ring r=32003,(x,y,z,t),dp;
     1326ideal i=
     1327x2z+xzt,
     1328xyz,
     1329xy2-xyt,
     1330x2y+xyt;
     1331
     1332//St_S/Y
     1333ring r=32003,(b,s,t,u,v,w,x,y,z),dp;
     1334ideal i=
     1335wy-vz,
     1336vx-uy,
     1337tv-sw,
     1338su-bv,
     1339tuy-bvz;
     1340
     1341//dauert laenger
     1342//Horrocks:
     1343ring r=32003,(a,b,c,d,e,f),dp;
     1344ideal i=
     1345adef-16000be2f+16001cef2,
     1346ad2f+8002bdef+8001cdf2,
     1347abdf-16000b2ef+16001bcf2,
     1348a2df+8002abef+8001acf2,
     1349ad2e-8000bde2-7999cdef,
     1350acde-16000bce2+16001c2ef,
     1351a2de-8000abe2-7999acef,
     1352acd2+8002bcde+8001c2df,
     1353abd2-8000b2de-7999bcdf,
     1354a2d2+9603abde-10800b2e2-9601acdf+800bcef+11601c2f2,
     1355abde-8000b2e2-acdf-16001bcef-8001c2f2,
     1356abcd-16000b2ce+16001bc2f,
     1357a2cd+8002abce+8001ac2f,
     1358a2bd-8000ab2e-7999abcf,
     1359ab3f-3bdf3,
     1360a2b2f-2adf3-16000bef3+16001cf4,
     1361a3bf+4aef3,
     1362ac3e-10668cde3,
     1363a2c2e+10667ade3+16001be4+5334ce3f,
     1364a3ce+10669ae3f,
     1365bc3d+8001cd3e,
     1366ac3d+8000bc3e+16001cd2e2+8001c4f,
     1367b2c2d+16001ad4+4000bd3e+12001cd3f,
     1368b2c2e-10668bc3f-10667cd2ef,
     1369abc2e-cde2f,
     1370b3cd-8000bd3f,
     1371b3ce-10668b2c2f-10667bd2ef,
     1372abc2f-cdef2,
     1373a2bce-16000be3f+16001ce2f2,
     1374ab3d-8000b4e-8001b3cf+16000bd2f2,
     1375ab2cf-bdef2,
     1376a2bcf-16000be2f2+16001cef3,
     1377a4d-8000a3be+8001a3cf-2ae2f2;
     1378
     1379 
     1380ring r=32003,(b,s,t,u,v,w,x,y,z),dp;
     1381
     1382ideal k=
     1383wy-vz,
     1384vx-uy,
     1385tv-sw,
     1386su-bv,
     1387tuy-bvz;
     1388ideal j=x2y2+x2z2+y2z2;
     1389ideal i=mstd(intersect(j,k))[2];
     1390
     1391//22
     1392ring r=32003,(b,s,t,u,v,w,x,y,z),dp;
     1393ideal i=
     1394wx2y3-vx2y2z+wx2yz2+wy3z2-vx2z3-vy2z3,
     1395vx3y2-ux2y3+vx3z2-ux2yz2+vxy2z2-uy3z2,
     1396tvx2y2-swx2y2+tvx2z2-swx2z2+tvy2z2-swy2z2,
     1397sux2y2-bvx2y2+sux2z2-bvx2z2+suy2z2-bvy2z2,
     1398tux2y3-bvx2y2z+tux2yz2+tuy3z2-bvx2z3-bvy2z3;
     1399
     1400
     1401//riemenschneider
     1402//33
     1403//normal+primary 3
     1404//primary 9
     1405//radical 1
     1406//minAssPrimes 2
     1407ring r=32000,(p,q,s,t,u,v,w,x,y,z),wp(1,1,1,1,1,1,2,1,1,1);
     1408ideal i=
     1409xz,
     1410vx,
     1411ux,
     1412su,
     1413qu,
     1414txy,
     1415stx,
     1416qtx,
     1417uv2z-uwz,
     1418uv3-uvw,
     1419puv2-puw;
     1420
     1421
Note: See TracChangeset for help on using the changeset viewer.