version 1.1, 2000/12/14 13:18:41 |
version 1.3, 2000/12/27 08:09:27 |
|
|
/* $OpenXM$ */ |
/* $OpenXM: OpenXM/src/k097/lib/restriction/demo.k,v 1.2 2000/12/15 02:44:32 takayama Exp $ */ |
|
|
load["restriction.k"];; |
load["restriction.k"];; |
load("../ox/ox.k");; |
load("../ox/ox.k");; |
Line 6 load("../ox/ox.k");; |
|
Line 6 load("../ox/ox.k");; |
|
def demoSendAsirCommand(a) { |
def demoSendAsirCommand(a) { |
a.executeString("load(\"bfct\");"); |
a.executeString("load(\"bfct\");"); |
a.executeString(" def myann(F) { B=ann(eval_str(F)); print(B); return(map(dp_ptod,B,[hoge,x,y,z,s,hh,ee,dx,dy,dz,ds,dhh])); }; "); |
a.executeString(" def myann(F) { B=ann(eval_str(F)); print(B); return(map(dp_ptod,B,[hoge,x,y,z,s,hh,ee,dx,dy,dz,ds,dhh])); }; "); |
|
a.executeString(" def myann0(F) { B=ann0(eval_str(F)); print(B); return(map(dp_ptod,B[1],[hoge,x,y,z,s,hh,ee,dx,dy,dz,ds,dhh])); }; "); |
a.executeString(" def mybfct(F) { return(rtostr(bfct(eval_str(F)))); }; "); |
a.executeString(" def mybfct(F) { return(rtostr(bfct(eval_str(F)))); }; "); |
} |
} |
|
|
Line 31 def asirAnnfsXYZ(a,f) { |
|
Line 32 def asirAnnfsXYZ(a,f) { |
|
return(b); |
return(b); |
} |
} |
|
|
|
def asir_rpc_old(argv_rpc_asir) { |
|
sm1(" oxasir.ccc [ ] eq { |
|
(Starting ox_asir server.) message |
|
ox_asirConnectMethod |
|
} { } ifelse "); |
|
sm1(" oxasir.ccc argv_rpc_asir asir /FunctionValue set "); |
|
} |
|
def asir_define_own_functions() { |
|
asir_rpc_old(["igcd",2,3]); |
|
sm1(" oxasir.ccc (def mygeneric_bfct(Id,V,DV,W) { |
|
return( rtostr(generic_bfct(Id,V,DV,W))); |
|
}) oxsubmit "); |
|
} |
|
|
|
def asir_generic_bfct(ii,vv,dd,ww) { |
|
local ans; |
|
ans = asir_rpc_old(["mygeneric_bfct",ii,vv,dd,ww]); |
|
return(ans); |
|
} |
|
/* asir_generic_bfct([Dx^2+Dy^2-1,Dx*Dy-4],[x,y],[Dx,Dy],[1,1]): */ |
|
|
|
def asir_BfRoots2(G) { |
|
local bb,ans,ss; |
|
sm1(" G flatten {dehomogenize} map /G set "); |
|
asir_define_own_functions(); |
|
ss = asir_generic_bfct(G,[x,y],[Dx,Dy],[1,1]); |
|
bb = [ss]; |
|
sm1(" bb 0 get findIntegralRoots { (universalNumber) dc } map /ans set "); |
|
return([ans, bb]); |
|
} |
|
def asir_BfRoots3(G) { |
|
local bb,ans,ss; |
|
sm1(" G flatten {dehomogenize} map /G set "); |
|
asir_define_own_functions(); |
|
ss = asir_generic_bfct(G,[x,y,z],[Dx,Dy,Dz],[1,1,1]); |
|
bb = [ss]; |
|
sm1(" bb 0 get findIntegralRoots { (universalNumber) dc } map /ans set "); |
|
return([ans, bb]); |
|
} |
|
|
def findMinSol(f) { |
def findMinSol(f) { |
sm1(" f (string) dc findIntegralRoots 0 get (universalNumber) dc /FunctionValue set "); |
sm1(" f (string) dc findIntegralRoots 0 get (universalNumber) dc /FunctionValue set "); |
} |
} |
Line 49 def asirAnnXYZ(a,f) { |
|
Line 90 def asirAnnXYZ(a,f) { |
|
return(b); |
return(b); |
} |
} |
|
|
|
|
def nonquasi2(p,q) { |
def nonquasi2(p,q) { |
local s,ans,f; |
local s,ans,f; |
f = x^p+y^q+x*y^(q-1); |
f = x^p+y^q+x*y^(q-1); |
Line 65 def nonquasi2(p,q) { |
|
Line 107 def nonquasi2(p,q) { |
|
Res = Sminimal(pp); |
Res = Sminimal(pp); |
Res0 = Res[0]; |
Res0 = Res[0]; |
Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0); |
Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0); |
R = BfRoots1(Res0[0],"x,y"); |
/* R = BfRoots1(Res0[0],"x,y"); */ |
|
R = asir_BfRoots2(Res0[0]); |
Println("Step3: computing the cohomology of the truncated complex."); |
Println("Step3: computing the cohomology of the truncated complex."); |
Print("Roots and b-function are "); Println(R); |
Print("Roots and b-function are "); Println(R); |
R0 = R[0]; |
R0 = R[0]; |
Ans=Srestall(Res0, ["x", "y"], ["x", "y"], R0[Length(R0)-1]); |
Ans=Srestall(Res0, ["x", "y"], ["x", "y"], R0[Length(R0)-1]); |
Print("Answer is "); Println(Ans[0]); |
Print("Answer is "); Println(Ans[0]); |
|
return(Ans); |
|
} |
|
|
|
def asirAnn0XYZ(a,f) { |
|
local p,b,b0; |
|
RingD("x,y,z,s"); /* Fix!! See the definition of myann() */ |
|
p = ToString(f); |
|
b = a.rpc("myann0",[p]); |
|
Print("Annhilating ideal of f^r is "); Println(b); |
|
return(b); |
|
} |
|
|
|
def DeRham2WithAsir(f) { |
|
local s; |
|
s = ToString(f); |
|
II = asirAnn0XYZ(asssssir,f); |
|
Print("Step 1: Annhilating ideal (II)"); Println(II); |
|
sm1(" II { [(x) (y) (Dx) (Dy) ] laplace0 } map /II set "); |
|
Sweyl("x,y",[["x",-1,"y",-1,"Dx",1,"Dy",1]]); |
|
pp = Map(II,"Spoly"); |
|
Res = Sminimal(pp); |
|
Res0 = Res[0]; |
|
Print("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0); |
|
/* R = BfRoots1(Res0[0],"x,y"); */ |
|
R = asir_BfRoots2(Res0[0]); |
|
Println("Step3: computing the cohomology of the truncated complex."); |
|
Print("Roots and b-function are "); Println(R); |
|
R0 = R[0]; |
|
Ans=Srestall(Res0, ["x", "y"], ["x", "y"],R0[Length(R0)-1] ); |
|
Print("Answer is ");Println(Ans[0]); |
|
return(Ans); |
|
} |
|
def DeRham3WithAsir(f) { |
|
local s; |
|
s = ToString(f); |
|
II = asirAnn0XYZ(asssssir,f); |
|
Print("Step 1: Annhilating ideal (II)"); Println(II); |
|
sm1(" II { [(x) (y) (z) (Dx) (Dy) (Dz)] laplace0 } map /II set "); |
|
Sweyl("x,y,z",[["x",-1,"y",-1,"z",-1,"Dx",1,"Dy",1,"Dz",1]]); |
|
pp = Map(II,"Spoly"); |
|
Res = Sminimal(pp); |
|
Res0 = Res[0]; |
|
Print("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0); |
|
/* R = BfRoots1(Res0[0],"x,y,z"); */ |
|
R = asir_BfRoots3(Res0[0]); |
|
Println("Step3: computing the cohomology of the truncated complex."); |
|
Print("Roots and b-function are "); Println(R); |
|
R0 = R[0]; |
|
Ans=Srestall(Res0, ["x", "y", "z"], ["x", "y", "z"],R0[Length(R0)-1] ); |
|
Print("Answer is ");Println(Ans[0]); |
return(Ans); |
return(Ans); |
} |
} |