version 1.9, 2005/06/30 08:39:39 |
version 1.10, 2005/07/07 01:31:21 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.8 2004/10/13 23:36:52 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.9 2005/06/30 08:39:39 takayama Exp $ |
% cp cone.sm1 $OpenXM_HOME/src/kan96xx/Doc/gfan.sm1 |
% cp cone.sm1 $OpenXM_HOME/src/kan96xx/Doc/gfan.sm1 |
% $Id$ |
% $Id$ |
% iso-2022-jp |
% iso-2022-jp |
|
|
] |
] |
def |
def |
|
|
|
/cone.DhH 0 def |
% Set a function to compute Grobner basis. |
% Set a function to compute Grobner basis. |
% cone.gb_Dh : For computing in Homogenized Weyl algebra h[1,1](D). |
% cone.gb_Dh : For computing in Homogenized Weyl algebra h[1,1](D). |
% cone.gb_DhH : For computing in doubly homogenized Weyl algebra. |
% cone.gb_DhH : For computing in doubly homogenized Weyl algebra. |
|
|
cone.input { . homogenize toString } map /cone.input set |
cone.input { . homogenize toString } map /cone.input set |
dh.end |
dh.end |
|
|
|
/cone.DhH 1 def |
% Set a function to compute Grobner basis. |
% Set a function to compute Grobner basis. |
% cone.gb_Dh : For computing in Homogenized Weyl algebra h[1,1](D). |
% cone.gb_Dh : For computing in Homogenized Weyl algebra h[1,1](D). |
% cone.gb_DhH : For computing in doubly homogenized Weyl algebra. |
% cone.gb_DhH : For computing in doubly homogenized Weyl algebra. |
Line 398 cone.comment message |
|
Line 400 cone.comment message |
|
% cone.d (pointed cones lies in this space. cf. cone.Lp) |
% cone.d (pointed cones lies in this space. cf. cone.Lp) |
% These are set during getting the cone.startingCone |
% These are set during getting the cone.startingCone |
|
|
|
%< |
|
% global |
|
%cone.ckmFlip. Collar-Kalkbrener-Mall $B$N(B flip $B%"%k%4%j%:%`$r;H$o$J$$(B 0. $B;H$&(B 1. |
|
% Default $B$O(B 0. |
|
%> |
|
/cone.ckmFlip 0 def |
|
|
%< |
%< |
|
% global |
|
% cone.DhH dx x = x dx + h H $B$J$i(B 1. dx x = x dx + h^2 $B$J$i(B 0. Default 0. |
|
%> |
|
/cone.DhH 0 def |
|
|
|
% Default $B$N(B cone.gb $B$NDj5A(B. $B3F%W%m%0%i%`$G:FEYDj5A$7$F$b$h$$(B. |
|
/cone.gb { |
|
cone.DhH { |
|
cone.gb_DhH |
|
} { |
|
cone.gb_Dh |
|
} ifelse |
|
} def |
|
|
|
%< |
% Usage: wv g coneEq1 |
% Usage: wv g coneEq1 |
% in(f) $B$,(B monomial $B@lMQ(B. in_w(f) = LT(f) $B$H$J$k(B weight w $B$NK~$?$9(B |
% in(f) $B$,(B monomial $B@lMQ(B. in_w(f) = LT(f) $B$H$J$k(B weight w $B$NK~$?$9(B |
% $BITEy<0@)Ls$r5a$a$k(B. |
% $BITEy<0@)Ls$r5a$a$k(B. |
|
|
ccf { 2 get {toString . rTable2 replace toString} map } map /ccf2 set |
ccf { 2 get {toString . rTable2 replace toString} map } map /ccf2 set |
%% ccf2 $B$O(B gr $B$G$J$$(B ring $B$N85(B. |
%% ccf2 $B$O(B gr $B$G$J$$(B ring $B$N85(B. |
gOld getRing ring_def |
gOld getRing ring_def |
cone.beginH % Hh $B$+(B h^2 $B$+(B. |
cone.DhH { cone.begin_DhH } { } ifelse % Hh $B$+(B h^2 $B$+(B. |
ccf2 { {.} map gOld mul } map /gNew set |
ccf2 { {.} map gOld mul } map /gNew set |
gNew { toString } map /gNew set |
gNew { toString } map /gNew set |
cone.endH |
cone.DhH { cone.end_DhH } { } ifelse % Hh $B$+(B h^2 $B$+(B. |
% gNew /arg1 set |
% gNew /arg1 set |
%gNew $B$,(B newWeight $B$G$N(B GB $B$+(B check. Yes $B$J$i(B reduced basis $B$X(B. |
%gNew $B$,(B newWeight $B$G$N(B GB $B$+(B check. Yes $B$J$i(B reduced basis $B$X(B. |
%No $B$J$i(B null $B$rLa$9(B. |
%No $B$J$i(B null $B$rLa$9(B. |
|
%%Ref: note @s/2005/06/30-note-gfan.pdf |
gNew [(gbCheck) 1] setAttributeList newWeight |
gNew [(gbCheck) 1] setAttributeList newWeight |
cone.gb (gb) getAttribute |
cone.gb (gb) getAttribute |
1 eq { |
1 eq { |
|
|
|
|
%< |
%< |
% Usages: f gbasis cone.reduction_DhH |
% Usages: f gbasis cone.reduction_DhH |
|
% dx x = x dx + h H $B$G$N(B reduction. |
%> |
%> |
/cone.reduction_DhH { |
/cone.reduction_DhH { |
/arg2 set /arg1 set |
/arg2 set /arg1 set |
[/ff /ggbasis /eenv /ans] pushVariables |
[/ff /ggbasis /eenv /ans] pushVariables |
[ |
[ |
/ff arg1 def /ggbasis arg2 def |
/ff arg1 def /ggbasis arg2 def |
cone.beginH |
cone.begin_DhH |
ff ggbasis reduction /ans set |
ff ggbasis reduction /ans set |
cone.endH |
cone.end_DhH |
/arg1 ans def |
/arg1 ans def |
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
|
|
|
%< |
|
% Usages: f gbasis cone.reduction_Dh |
|
% dx x = x dx + h^2 $B$G$N(B reduction. |
|
%> |
|
/cone.reduction_Dh { |
|
/arg2 set /arg1 set |
|
[/ff /ggbasis /eenv /ans] pushVariables |
|
[ |
|
/ff arg1 def /ggbasis arg2 def |
|
ff ggbasis reduction /ans set |
|
/arg1 ans def |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
%< |
|
% Usages: cone.begin_DhH dx x = x dx + h H $B$r3+;O(B. |
|
%> |
/cone.begin_DhH { |
/cone.begin_DhH { |
[(Homogenize) (AutoReduce) (KanGBmessage)] pushEnv /cone.eenv set |
[(Homogenize) (AutoReduce) (KanGBmessage)] pushEnv /cone.eenv set |
[(Homogenize) 3] system_variable |
[(Homogenize) 3] system_variable |
} def |
} def |
|
|
|
%< |
|
% Usages: cone.begin_DhH dx x = x dx + h H $B$r=*N;(B. |
|
%> |
/cone.end_DhH { |
/cone.end_DhH { |
cone.eenv popEnv |
cone.eenv popEnv |
} def |
} def |
|
|
|
%< |
|
% Usages: ff vv ww cone.gb_gr_DhH dx x = x dx + h H $B$G7W;;(B. |
|
% dh.gb $B$O(B dhecart.sm1 $B$GDj5A$5$l$F$*$j(B, dx x = x dx + h H $B$G$N7W;;(B. |
|
% gr $B$r$H$C$F$b(B, -w,w $B$N>l9g$O(B $BHyJ,:nMQAG4D$N$^$^$G$"$j(B, $B$3$l$,I,MW(B. |
|
% bug? cone.gb $B$G==J,(B? |
|
%> |
|
/cone.gb_gr_DhH { |
|
/arg1 set |
|
[/ff /ww /vv] pushVariables |
|
[ |
|
/ff arg1 0 get def |
|
/vv arg1 1 get def |
|
/ww arg1 2 get def |
|
/dh.gb.verbose 1 def |
|
/dh.autoHomogenize 0 def |
|
[(AutoReduce) 1] system_variable |
|
[ff { toString } map vv |
|
[ww vv generateD1_1]] dh.gb 0 get /arg1 set |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
%< |
|
% Usages: ff vv ww cone.gb_gr_Dh dx x = x dx + h^2 $B$G7W;;(B. |
|
% gb $B$O(B dhecart.sm1 $B$GDj5A$5$l$F$*$j(B, dx x = x dx + h^2 $B$G$N7W;;(B. |
|
% gr $B$r$H$C$F$b(B, -w,w $B$N>l9g$O(B $BHyJ,:nMQAG4D$N$^$^$G$"$j(B, $B$3$l$,I,MW(B. |
|
% bug? cone.gb $B$G==J,(B? |
|
%> |
|
/cone.gb_gr_Dh { |
|
/arg1 set |
|
[/ff /ww /vv] pushVariables |
|
[ |
|
/ff arg1 0 get def |
|
/vv arg1 1 get def |
|
/ww arg1 2 get def |
|
/gb.verbose 1 def |
|
/gb.autoHomogenize 0 def |
|
[(AutoReduce) 1] system_variable |
|
[ff { toString } map vv |
|
[ww vv generateD1_1]] gb 0 get /arg1 set |
|
/gb.autoHomogenize 1 def |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
|
|
% $B$3$l$i$O(B cone.ckmFlip 1 $B$N;~$7$+;H$o$:(B. |
|
/cone.reduction { |
|
cone.DhH { |
|
cone.reduction_DhH |
|
}{ |
|
cone.reduction_Dh |
|
} ifelse |
|
} def |
|
/cone.gb_gr { |
|
cone.DhH { |
|
cone.gb_gr_DhH |
|
}{ |
|
cone.gb_gr_Dh |
|
} ifelse |
|
} def |
|
|
|
|
/test1.ckmFlip { |
/test1.ckmFlip { |
% cf. cone.sample2 |
% cf. cone.sample2 |
cone.load.cohom |
cone.load.cohom |
|
|
/cone.parametrizeWeightSpace { |
/cone.parametrizeWeightSpace { |
4 2 parametrizeSmallFan |
4 2 parametrizeSmallFan |
} def |
} def |
|
|
|
/cone.DhH 1 def |
|
/cone.ckmFlip 1 def |
|
|
/cone.local 1 def |
/cone.local 1 def |
/cone.w_start null def |
/cone.w_start null def |
/cone.h0 1 def |
/cone.h0 1 def |
|
|
cone.input { . homogenize toString } map /cone.input set |
cone.input { . homogenize toString } map /cone.input set |
dh.end |
dh.end |
|
|
/cone.gb { |
|
cone.gb_DhH |
|
} def |
|
|
|
/cone.reduction { |
|
cone.reduction_DhH |
|
} def |
|
|
|
/cone.beginH { |
|
cone.begin_DhH |
|
} def |
|
/cone.endH { |
|
cone.end_DhH |
|
} def |
|
% $B%F%9%H$r3+;O$9$k(B. |
% $B%F%9%H$r3+;O$9$k(B. |
/cone.gb_gr { |
|
/arg1 set |
|
[/ff /ww /vv] pushVariables |
|
[ |
|
/ff arg1 0 get def |
|
/vv arg1 1 get def |
|
/ww arg1 2 get def |
|
/dh.gb.verbose 1 def |
|
/dh.autoHomogenize 0 def |
|
[(AutoReduce) 1] system_variable |
|
[ff { toString } map vv |
|
[ww vv generateD1_1]] dh.gb 0 get /arg1 set |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
% getStartingCone /cone.ncone set |
% getStartingCone /cone.ncone set |
% cone.ncone updateFan |
% cone.ncone updateFan |
% cone.gblist 0 get message |
% cone.gblist 0 get message |