[BACK]Return to demo.k CVS log [TXT][DIR] Up to [local] / OpenXM / src / k097 / lib / restriction

Diff for /OpenXM/src/k097/lib/restriction/demo.k between version 1.7 and 1.8

version 1.7, 2001/01/26 12:24:57 version 1.8, 2001/09/20 00:48:17
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/k097/lib/restriction/demo.k,v 1.6 2001/01/05 11:14:29 takayama Exp $  */  /* $OpenXM: OpenXM/src/k097/lib/restriction/demo.k,v 1.7 2001/01/26 12:24:57 takayama Exp $  */
   
 load["restriction.k"];;  load["restriction.k"];;
 load("../ox/ox.k");;  load("../ox/ox.k");;
Line 78  def asir_BfRoots3(G) {
Line 78  def asir_BfRoots3(G) {
    return([ans, bb]);     return([ans, bb]);
 }  }
   
   def asir_BfRoots4(G) {
      local bb,ans,ss;
      sm1(" G flatten {dehomogenize} map /G set ");
      ChangeRing(G);
      ss = asir_generic_bfct(asssssir,G,[x,y,z,vv],[Dx,Dy,Dz,Dvv],[0,0,0,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 231  def DeRham3WithAsir(f) {
Line 241  def DeRham3WithAsir(f) {
    ];     ];
   
   
   def diff_tmp(ff,xx) {
     local g;
     g = xx*ff;
     return( Replace(g,[[xx,Poly("0")],[h,Poly("1")]]));
   }
   
   def Localize3WithAsir(I,f) {
     local s;
   
     sm1("0 set_timer "); sm1(" oxNoX ");
     asssssir.OnTimer();
   
     RingD("x,y,z,vv");
     /* BUG: use of RingD("x,y,z,v") causes an expected error.
       [x2,x3,x4,x4] in mygeneric_bfct.  (should be [x2,x3,x4,x5]).
     */
     f = ReParse(f);
     I = ReParse(I);
     /* Test data. */
     /*
     f = x^3-y^2*z^2;
     I = [f^2*Dx-3*x^2, f^2*Dy-2*y*z^2, f^2*Dz-2*y^2*z];
   
     f = x^3-y^2;
     I = [f^2*Dx-diff_tmp(f,Dx), f^2*Dy-diff_tmp(f,Dy), Dz];
     */
   
     r1 = Dx-vv^2*diff_tmp(f,Dx)*Dvv;
     r2 = Dy-vv^2*diff_tmp(f,Dy)*Dvv;
     r3 = Dz-vv^2*diff_tmp(f,Dz)*Dvv;
     II = ReParse(I);
     sm1(" II { [[(Dx). r1] [(Dy). r2] [(Dz). r3]] replace } map dehomogenize /II set ");
   
     Print("Step 1: phi(J)"); Println(II);
     II = Join(II,[vv*f-1]);
     Print("Step 2: <phi(J),vf-1>"); Println(II);
   
     Println("Step3: computing the integral.");
     sm1(" II  { [(x) (y) (z) (vv) (Dx) (Dy) (Dz) (Dvv)] laplace0 } map /JJ set ");
     Sweyl("x,y,z,vv",[["vv",-1,"Dvv",1]]);
     pp = Map(JJ,"Spoly");
     R = asir_BfRoots4(pp);
     Print("Roots and b-function are "); Println(R);
   
     R0 = R[0];
     k1 = R0[Length(R0)-1];
     sm1(" [(parse) (intw.sm1) pushfile] extension /intw.verbose 1 def ");
     sm1(" [II [(vv) (x) (y) (z)] [(vv) -1 (Dvv) 1] k1 (integer) dc] integral-k1 /Ans set ");
   
     Println("Timing data: sm1 "); sm1(" 1 set_timer ");
     Print("     ox_asir [CPU,GC]:  ");Println(asssssir.OffTimer());
   
     Print("Answer is ");Println(Ans);
     return(Ans);
   }
   
   
   def Ltest2() {
     RingD("x,y,z");
     f = x^3-y^2;
     I = [f^2*Dx-diff_tmp(f,Dx), f^2*Dy-diff_tmp(f,Dy), Dz];
     return( Localize3WithAsir(I,f) );
   }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>