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

Diff for /OpenXM/src/k097/lib/minimal/cohom.k between version 1.2 and 1.6

version 1.2, 2000/06/14 07:44:04 version 1.6, 2000/12/10 03:12:20
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/k097/lib/minimal/cohom.k,v 1.1 2000/05/03 06:42:07 takayama Exp $ */  /* $OpenXM: OpenXM/src/k097/lib/minimal/cohom.k,v 1.5 2000/11/19 10:48:48 takayama Exp $ */
   
 /* k0 interface functions for cohom.sm1 */  /* k0 interface functions for cohom.sm1 */
 def Boundp(a) {  
    local b;  
    sm1("[(parse) [(/) ",a," ( load tag 0 eq  
                           { /FunctionValue 0 def }  
                           { /FunctionValue 1 def } ifelse )] cat ] extension");  
 }  
   
 def load_cohom() {  def load_cohom() {
     local ppp;
   if (Boundp("cohom.sm1.loaded")) {    if (Boundp("cohom.sm1.loaded")) {
   }else{    }else{
     sm1(" [(parse) (k0-cohom.sm1) pushfile ] extension ");      if (Tag(GetPathName("k0-cohom.sm1")) == 0) {
         ppp = GetPathName("lib/minimal/k0-cohom.sm1");
         sm1(" [(parse) ppp pushfile ] extension ");
       }else{
         sm1(" [(parse) (k0-cohom.sm1) pushfile ] extension ");
       }
   }    }
 }  }
   
Line 27  def sm1_deRham(a,b) {
Line 27  def sm1_deRham(a,b) {
   }    }
   sm1("[", aa,bb, " ]  deRham /FunctionValue set ");    sm1("[", aa,bb, " ]  deRham /FunctionValue set ");
 }  }
   HelpAdd(["sm1_deRham",
   ["sm1_deRham(f,v) computes the dimension of the deRham cohomology groups",
    "of C^n - V(f)",
    "This function does not use (-w,w)-minimal free resolution.",
     "Example:  sm1_deRham(\"x^3-y^2\",\"x,y\");"
   ]]);
   
   
 def Weyl(v,w,p) {  def Weyl(v,w,p) {
Line 45  def Weyl(v,w,p) {
Line 51  def Weyl(v,w,p) {
   sm1(" define_ring_variables ");    sm1(" define_ring_variables ");
   return(a);    return(a);
 }  }
   HelpAdd(["Weyl",
   [ "Weyl(v,w) defines the Weyl algebra (the ring of differential operators)",
     "with the weight vector w.",
     "Example:  Weyl(\"x,y\",[[\"x\",-1,\"Dx\",1]]); "
   ]]);
   /* (  and  ) must match  in HelpAdd. */
   
 def sm1_pmat(a) {  def sm1_pmat(a) {
   sm1(a," pmat ");    sm1(a," pmat ");
Line 85  def sm1_syz(A,V,W) {
Line 97  def sm1_syz(A,V,W) {
   sm1(P," syz /FunctionValue set");    sm1(P," syz /FunctionValue set");
 }  }
 /*  /*
     cf.  Kernel()
   sm1_syz([x*Dx,y*Dy],[x,y]):    sm1_syz([x*Dx,y*Dy],[x,y]):
   We want to syz_h, too.    We want to syz_h, too.
   Step 1: Control by global variable ?  syz ==> syz_generic    Step 1: Control by global variable ?  syz ==> syz_generic
Line 213  def GKZ(A,B) {
Line 226  def GKZ(A,B) {
 HelpAdd(["GKZ.GKZ",  HelpAdd(["GKZ.GKZ",
   ["GKZ(a,b) returns the GKZ systems associated to the matrix a and the vector b",    ["GKZ(a,b) returns the GKZ systems associated to the matrix a and the vector b",
    "The answer is given by strings.",     "The answer is given by strings.",
    "Example: GKZ([[1,1,1,1],[0,1,3,4]],[0,2])"]]);     "Example: GKZ([[1,1,1,1],[0,1,3,4]],[0,2]);"]]);
   
 def Rest(a) {  def ToricIdeal(A) {
   sm1(a," rest /FunctionValue set ");    /* we need sm1_rat_to_p in a future. */
     local c,B,i,n,pp;
     n = Length(A);
     B = NewArray(n);
     for (i=0; i<n; i++) {B[i] = 0;}
     c = to_int0([A,B]);
     sm1(c," gkz 0 get /pp set ");
     for (i=0; i<n; i++) { pp = Rest(pp); }
     return(pp);
 }  }
 HelpAdd(["Rest",  
 ["Rest(a), list a; "]]);  
   
   HelpAdd(["ToricIdeal",
     ["ToricIdeal(a) returns the affine toric ideal associated to the matrix a",
      "The answer is given by a list of strings.",
      "Example: ToricIdeal([[1,1,1,1],[0,1,3,4]]);"]]);
   
   
   def Annfs(f,v) {
     local fs;
     fs = ToString(f);
     sm1(" [fs v] annfs /FunctionValue set ");
   }
   HelpAdd(["Annfs",
   ["Annfs(f,v) computes the annihilating ideal of f^r and the Bernstein-Sato",
    "  polynomial b(s) of f",
    "Return value: [Ann(f^r), r, b(s)] where r is the minimal integral root of",
    "              b(s) = 0.",
    "Example:  Annfs(x^2+y^2,\"x,y\"): "
   ]]);

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

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