[BACK]Return to minimal.k CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / lib / minimal

Diff for /OpenXM/src/k097/lib/minimal/minimal.k between version 1.1 and 1.3

version 1.1, 2000/05/03 06:42:07 version 1.3, 2000/05/04 06:55:28
Line 1 
Line 1 
 /* $OpenXM$ */  /* $OpenXM: OpenXM/src/k097/lib/minimal/minimal.k,v 1.2 2000/05/03 07:50:38 takayama Exp $ */
 #define DEBUG 1  #define DEBUG 1
 /* #define ORDINARY 1 */  /* #define ORDINARY 1 */
 /* Test sequences.  /* Test sequences.
Line 638  def SpairAndReduction(skel,level,ii,freeRes,tower,ww) 
Line 638  def SpairAndReduction(skel,level,ii,freeRes,tower,ww) 
   
   Print("result is "); Println(tmp);    Print("result is "); Println(tmp);
   
   vdeg = SvDegree(si*gi+sj*gj,tower,level-1,ww);    /* This is essential part for V-minimal resolution. */
     /* vdeg = SvDegree(si*gi+sj*gj,tower,level-1,ww); */
     vdeg = SvDegree(si*gi,tower,level-1,ww);
   vdeg_reduced = SvDegree(tmp[0],tower,level-1,ww);    vdeg_reduced = SvDegree(tmp[0],tower,level-1,ww);
   Print("vdegree of the original = "); Println(vdeg);    Print("vdegree of the original = "); Println(vdeg);
   Print("vdegree of the remainder = "); Println(vdeg_reduced);    Print("vdegree of the remainder = "); Println(vdeg_reduced);
Line 823  def Sminimal(g) {
Line 825  def Sminimal(g) {
     }      }
    }     }
    return([Stetris(minRes,redundantTable),     return([Stetris(minRes,redundantTable),
           [ minRes, redundantTable, reducer,r[3],r[4]]]);            [ minRes, redundantTable, reducer,r[3],r[4]],r[0]]);
   /* r[4] is the redundantTable_ordinary */    /* r[4] is the redundantTable_ordinary */
     /* r[0] is the freeResolution */
 }  }
   
   
Line 933  In(20)=SvDegree(x,tt,2,ww):
Line 936  In(20)=SvDegree(x,tt,2,ww):
 def SvDegree(f,tower,level,w) {  def SvDegree(f,tower,level,w) {
   local i,ans;    local i,ans;
   if (IsZero(f)) return(null);    if (IsZero(f)) return(null);
     f = Init(f);
   if (level <= 0) {    if (level <= 0) {
     return(Sord_w(f,w));      return(Sord_w(f,w));
   }    }
Line 942  def SvDegree(f,tower,level,w) {
Line 946  def SvDegree(f,tower,level,w) {
   return(ans);    return(ans);
 }  }
   
   def Sannfs(f,v) {
     local f2;
     f2 = ToString(f);
     if (IsArray(v)) {
        v = Map(v,"ToString");
     }
     sm1(" [f2 v] annfs /FunctionValue set ");
   }
   
   /* Sannfs2("x^3-y^2"); */
   def Sannfs2(f) {
     local p,pp;
     p = Sannfs(f,"x,y");
     Sweyl("x,y",[["x",-1,"y",-1,"Dx",1,"Dy",1]]);
     pp = Map(p[0],"Spoly");
     return(Sminimal(pp));
   }
   
   def Sannfs3(f) {
     local p,pp;
     p = Sannfs(f,"x,y,z");
     Sweyl("x,y,z",[["x",-1,"y",-1,"z",-1,"Dx",1,"Dy",1,"Dz",1]]);
     pp = Map(p[0],"Spoly");
     return(Sminimal(pp));
   }
   
   /*
     The betti numbers of most examples are 2,1. (0-th and 1-th).
     a=Sannfs2("x*y*(x+y-1)"); ==> The betti numbers are 3, 2.
     a=Sannfs2("x^3-y^2-x");    : it causes an error. It should be fixed.
     a=Sannfs2("x*y*(x-y)");    : it causes an error. It should be fixed.
   
   */
   
   

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>