| 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); | 
|  } | 
 } |