=================================================================== RCS file: /home/cvs/OpenXM/src/k097/lib/minimal/cohom.k,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- OpenXM/src/k097/lib/minimal/cohom.k 2000/06/14 07:44:04 1.2 +++ 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.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 */ -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,10 +226,34 @@ 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 Rest(a) { - sm1(a," rest /FunctionValue set "); +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