| version 1.1, 2000/05/03 06:42:07 |
version 1.4, 2000/11/19 05:50:30 |
|
|
| /* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/k097/lib/minimal/cohom.k,v 1.3 2000/09/10 20:22:45 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 "); |
|
|
| 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; "]]); |
| |
|