=================================================================== RCS file: /home/cvs/OpenXM/src/k097/lib/minimal/cohom.k,v retrieving revision 1.3 retrieving revision 1.6 diff -u -p -r1.3 -r1.6 --- OpenXM/src/k097/lib/minimal/cohom.k 2000/09/10 20:22:45 1.3 +++ OpenXM/src/k097/lib/minimal/cohom.k 2000/12/10 03:12:20 1.6 @@ -1,17 +1,17 @@ -/* $OpenXM: OpenXM/src/k097/lib/minimal/cohom.k,v 1.2 2000/06/14 07:44:04 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 */ -def Boundp(a) { - local b; - sm1("[(parse) [(/) ",a," ( load tag 0 eq - { /FunctionValue 0 def } - { /FunctionValue 1 def } ifelse )] cat ] extension"); -} def load_cohom() { + local ppp; if (Boundp("cohom.sm1.loaded")) { }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 "); + } } } @@ -27,6 +27,12 @@ def sm1_deRham(a,b) { } 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) { @@ -45,6 +51,12 @@ def Weyl(v,w,p) { sm1(" define_ring_variables "); 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) { sm1(a," pmat "); @@ -85,6 +97,7 @@ def sm1_syz(A,V,W) { sm1(P," syz /FunctionValue set"); } /* + cf. Kernel() sm1_syz([x*Dx,y*Dy],[x,y]): We want to syz_h, too. Step 1: Control by global variable ? syz ==> syz_generic @@ -213,7 +226,7 @@ def GKZ(A,B) { 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])"]]); + "Example: GKZ([[1,1,1,1],[0,1,3,4]],[0,2]);"]]); def ToricIdeal(A) { /* we need sm1_rat_to_p in a future. */ @@ -229,10 +242,18 @@ def ToricIdeal(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]]"]]); + "Example: ToricIdeal([[1,1,1,1],[0,1,3,4]]);"]]); -def Rest(a) { - sm1(a," rest /FunctionValue set "); + +def Annfs(f,v) { + local fs; + fs = ToString(f); + sm1(" [fs v] annfs /FunctionValue set "); } -HelpAdd(["Rest", -["Rest(a), list a; "]]); \ No newline at end of file +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\"): " +]]);