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

Annotation of OpenXM/src/k097/lib/restriction/restriction.k, Revision 1.2

1.2     ! takayama    1: /*  $OpenXM: OpenXM/src/k097/lib/restriction/restriction.k,v 1.1 2000/12/10 10:04:04 takayama Exp $ */
1.1       takayama    2: load["lib/minimal/minimal-test.k"];;
                      3: Load_sm1(["Srestall_s.sm1","lib/restriction/Srestall_s.sm1"],"Srestall_s.sm1.loaded");
                      4:
                      5: def Srestall(gg,ttxx,tt,k1) {
                      6:   local cohom, gg, ttxx, tt, k1, cohom0, cohomd,ans;
                      7:   sm1("gg dehomogenize /gg set");
                      8:   gg = ToString_array(gg);
                      9:   sm1(" [(x) ring_of_differential_operators [[(x) 1]] weight_vector 0] define_ring ]");
                     10:   sm1("[(Homogenize_vec) 1] system_variable");
                     11:   Println([Tag(gg),Tag(ttxx),Tag(tt)]);
                     12:   sm1("gg ttxx tt k1 (integer) dc Srestall1  /cohom0 set");
                     13:   sm1(" cohom0 {deRham.simp} map /cohomd set ");
                     14:   ans = [cohomd,cohom0];
                     15:   return(ans);
                     16: }
                     17: HelpAdd(["Srestall",
                     18: [ "Srestall(gg,v,rv,k1) evaluates the dimensions of all restictions of",
                     19:   "gg along the list of variables rv. Here, v is a list of variables and",
                     20:   " k1 is the maximal integral root of the b-function of gg.",
                     21:   "Srestall uses the function Sminimal to get a (-w,w)-minimal free resolution.",
                     22:   "cf. Bfroots1(ii,vv)"
                     23: ]]);
                     24:
                     25: def DeRham2(f) {
                     26:   local s;
                     27:   s = ToString(f);
                     28:   II = Sannfs(f,"x,y");
                     29:   Println("Step 1: Annhilating ideal (II)"); Println(II);
                     30:   sm1(" II 0 get { [(x) (y) (Dx) (Dy) ] laplace0 } map /II set ");
                     31:   Sweyl("x,y",[["x",-1,"y",-1,"Dx",1,"Dy",1]]);
                     32:   pp = Map(II,"Spoly");
                     33:   Res = Sminimal(pp);
                     34:   Res0 = Res[0];
                     35:   Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0);
                     36:   R = BfRoots1(Res0[0],"x,y");
                     37:   Println("Step3: computing the cohomology of the truncated complex.");
                     38:   Print("Roots and b-function are "); Println(R);
                     39:   R0 = R[0];
                     40:   Ans=Srestall(Res0, ["x", "y"], ["x", "y"],R0[Length(R0)-1]);
                     41:   Print("Answer is "); Println(Ans[0]);
                     42:   return(Ans);
                     43: }
                     44:
                     45: def DeRham3(f) {
                     46:   local s;
                     47:   s = ToString(f);
                     48:   II = Sannfs(f,"x,y,z");
                     49:   Print("Step 1: Annhilating ideal (II)"); Println(II);
                     50:   sm1(" II 0 get { [(x) (y) (z) (Dx) (Dy) (Dz)] laplace0 } map /II set ");
                     51:   Sweyl("x,y,z",[["x",-1,"y",-1,"z",-1,"Dx",1,"Dy",1,"Dz",1]]);
                     52:   pp = Map(II,"Spoly");
                     53:   Res = Sminimal(pp);
                     54:   Res0 = Res[0];
                     55:   Print("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0);
                     56:   R = BfRoots1(Res0[0],"x,y,z");
                     57:   Println("Step3: computing the cohomology of the truncated complex.");
                     58:   Print("Roots and b-function are "); Println(R);
                     59:   R0 = R[0];
                     60:   Ans=Srestall(Res0, ["x", "y", "z"],  ["x", "y", "z"],R0[Length(R0)-1] );
                     61:   Print("Answer is ");Println(Ans[0]);
                     62:   return(Ans);
                     63: }
                     64:
                     65: def DeRham1(f) {
                     66:   local s;
                     67:   s = ToString(f);
                     68:   II = Sannfs(f,"x");
                     69:   Println("Step 1: Annhilating ideal (II)"); Println(II);
                     70:   sm1(" II 0 get { [(x) (Dx) ] laplace0 } map /II set ");
                     71:   Sweyl("x",[["x",-1,"Dx",1]]);
                     72:   pp = Map(II,"Spoly");
                     73:   Res = Sminimal(pp);
                     74:   Res0 = Res[0];
                     75:   Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0);
                     76:   R = BfRoots1(Res0[0],"x");
                     77:   Println("Step3: computing the cohomology of the truncated complex.");
                     78:   Print("Roots and b-function are "); Println(R);
                     79:   R0 = R[0];
                     80:   Ans=Srestall(Res0, ["x"], ["x"],R0[Length(R0)-1]);
                     81:   Print("Answer is "); Println(Ans[0]);
                     82:   return(Ans);
                     83: }
                     84:
                     85: /*  Demo for non-quasi */
                     86: def nonquasi(p,q) {
                     87:   local s,ans,f;
                     88:   f = x^p+y^q+x*y^(q-1);
                     89:   Print("f=");Println(f);
                     90:   s = ToString(f);
                     91:   sm1(" Onverbose ");
                     92:   sm1(" s [(s) (x) (y)] genericAnn /ans set ");
                     93:   sm1(" ans 0 get (ring) dc ring_def ");
                     94:   sm1("[ ans { [[(s). (-1).]] replace } map ] /II set ");
                     95:   Println("Step 1: Annhilating ideal (II)"); Println(II);
                     96:   sm1(" II 0 get { [(x) (y) (Dx) (Dy) ] laplace0 } map /II set ");
                     97:   Sweyl("x,y",[["x",-1,"y",-1,"Dx",1,"Dy",1]]);
                     98:   pp = Map(II,"Spoly");
                     99:   Res = Sminimal(pp);
                    100:   Res0 = Res[0];
                    101:   Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0);
                    102:   R = BfRoots1(Res0[0],"x,y");
                    103:   Println("Step3: computing the cohomology of the truncated complex.");
                    104:   Print("Roots and b-function are "); Println(R);
                    105:   R0 = R[0];
                    106:   Ans=Srestall(Res0, ["x", "y"],  ["x", "y"], R0[Length(R0)-1]);
                    107:   Print("Answer is "); Println(Ans[0]);
                    108:   return(Ans);
                    109: }
                    110:
1.2     ! takayama  111: def t_addD(v) {
        !           112:   return(AddString(["D",ToString(v)]));
        !           113: }
        !           114: def Sintegration(gg,v,intv) {
        !           115:   local i,vstr,n,dv,wv,vall;
        !           116:   II=Map(gg,"ToString");
        !           117:   v = Map(v,"ToString");
        !           118:   intv = Map(intv,"ToString");
        !           119:   vstr=" "; n=Length(v);
        !           120:   for (i=0; i<n-1; i++) {
        !           121:     vstr=AddString([vstr,v[i],","]);
        !           122:   }
        !           123:   vstr=AddString([vstr,v[n-1]]);
        !           124:   dv=Map(v,"t_addD");
        !           125:   wv=[ ];
        !           126:   for (i=0; i<n; i++) { wv = Join(wv,[v[i],-1]); }
        !           127:   for (i=0; i<n; i++) { wv = Join(wv,[dv[i],1]); }
        !           128:   /* Sweyl("x,y",[["x",-1,"y",-1,"Dx",1,"Dy",1]]); */
        !           129:   Sweyl(vstr,[wv]);
        !           130:   II=Map(II,"Poly");
        !           131:   /* sm1(" II 0 get { [(x) (y) (Dx) (Dy) ] laplace0 } map /II set "); */
        !           132:   vall = Join(v,dv);
        !           133:   sm1(" II { vall laplace0 } map /II set ");
        !           134:   pp = Map(II,"Spoly");
        !           135:   Println("Step1: Laplace transform "); Println(pp);
        !           136:   Res = Sminimal(pp);
        !           137:   Res0 = Res[0];
        !           138:   Println("Step2: (-1,1)-minimal resolution (Res0) "); sm1_pmat(Res0);
        !           139:   /* R = BfRoots1(Res0[0],"x,y"); */
        !           140:   R = BfRoots1(Res0[0],vstr);
        !           141:   Println("Step3: computing the cohomology of the truncated complex.");
        !           142:   Print("Roots and b-function are "); Println(R);
        !           143:   R0 = R[0];
        !           144:   /* Ans=Srestall(Res0, ["x", "y"], ["x", "y"],R0[Length(R0)-1]); */
        !           145:   Ans=Srestall(Res0, v, intv,R0[Length(R0)-1]);
        !           146:   Print("Answer is "); Println(Ans[0]);
        !           147:   return(Ans);
        !           148: }
        !           149: HelpAdd(["Sintegration",
        !           150: [ "Sintegration(gg,v,intv) evaluates the dimensions of all integrations of",
        !           151:   "gg along the list of variables intv. Here, v is a list of variables.",
        !           152:   "Interation variables intv must be in the first part of v.",
        !           153:   "Sintegration uses the function Srestall.",
        !           154:   "Example: RingD(\"x,t\"); Sintegration([Dt-(3*t^2-x),Dx+t],[t,x],[t]):"
        !           155: ]]);

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