[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.1 and 1.5

version 1.1, 2000/05/03 06:42:07 version 1.5, 2000/11/19 10:48:48
Line 1 
Line 1 
 /* $OpenXM$ */  /* $OpenXM: OpenXM/src/k097/lib/minimal/cohom.k,v 1.4 2000/11/19 05:50:30 takayama Exp $ */
   
   /* k0 interface functions for cohom.sm1 */
 def Boundp(a) {  def Boundp(a) {
    local b;     local b;
    sm1("[(parse) [(/) ",a," ( load tag 0 eq     sm1("[(parse) [(/) ",a," ( load tag 0 eq
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 185  def ex2_9() {
Line 198  def ex2_9() {
   return(a);    return(a);
 }  }
   
   def to_int0(A) {
      local i,c,n,r;
      if (IsArray(A)) {
        n = Length(A);
        r = NewArray(n);
        for (i=0; i<n; i++) {
          r[i] = to_int0(A[i]);
        }
        return(r);
      } else if (IsInteger(A)) {
        return(IntegerToSm1Integer(A));
      } else {
        return(A);
      }
   }
   HelpAdd(["Translate.to_int0",
    ["to_int0(a) :  as same as sm1_push_int0."]]);
   
   
   def GKZ(A,B) {
     /* we need sm1_rat_to_p in a future. */
     local c;
     c = to_int0([A,B]);
     sm1(c," gkz /FunctionValue set ");
   }
   HelpAdd(["GKZ.GKZ",
     ["GKZ(a,b) returns the GKZ systems associated to the matrix a and the vector b",
      "The answer is given by strings.",
      "Example: GKZ([[1,1,1,1],[0,1,3,4]],[0,2]);"]]);
   
   def ToricIdeal(A) {
     /* 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(["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 Rest(a) {
     sm1(a," rest /FunctionValue set ");
   }
   HelpAdd(["Rest",
   ["Rest(a), list a; "]]);
   
   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.1  
changed lines
  Added in v.1.5

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