version 1.13, 2009/08/26 04:54:17 |
version 1.16, 2009/09/04 02:59:55 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.12 2005/07/07 07:53:37 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.15 2009/09/04 00:53:48 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 |
%%Ref: @s/2004/08/21-note.pdf |
%%Ref: @s/2004/08/21-note.pdf |
|
|
|
%% gfan.sm1 works only for polymake 2.0 Use webservice of 2.0. |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%% Two examples are given below to get a global Grobner fan and |
%% Two examples are given below to get a global Grobner fan and |
%% a local Grobner fan ; cone.sample and cone.sample2 |
%% a local Grobner fan ; cone.sample and cone.sample2 |
Line 250 dhcone.printGrobnerFan |
|
Line 252 dhcone.printGrobnerFan |
|
% If you use the cgi/polymake on the net, then uncomment out. |
% If you use the cgi/polymake on the net, then uncomment out. |
%/doPolymake {doPolymake.OoHG} def (Using doPolymake.OoHG ) message |
%/doPolymake {doPolymake.OoHG} def (Using doPolymake.OoHG ) message |
%/polymake.start {polymake.start.OoHG} def (Using polymake.start.OoHG ) message |
%/polymake.start {polymake.start.OoHG} def (Using polymake.start.OoHG ) message |
|
/@@@polymake.web 1 def |
%% Choose it automatically. |
%% Choose it automatically. |
[(which) (polymake)] oxshell tag 0 eq { |
[(which) (polymake)] oxshell tag 0 eq |
(Polymake is not installed in this system.) message |
@@@polymake.web 1 eq |
|
or |
|
{ |
|
(Polymake is not installed in this system or @@@polymake.web is set.) message |
/doPolymake {doPolymake.OoHG} def |
/doPolymake {doPolymake.OoHG} def |
(Using doPolymake.OoHG ) message |
(Using doPolymake.OoHG ) message |
/polymake.start {polymake.start.OoHG} def |
/polymake.start {polymake.start.OoHG} def |
|
|
%> |
%> |
/getConeInfo { |
/getConeInfo { |
/arg1 set |
/arg1 set |
[/ww /g /ceq /ceq2 /cdim /mmc /mmL /rr /ineq /ppt] pushVariables |
[/ww /g /ceq /ceq2 /cdim /mmc /mmL /rr /ineq /ppt /rr0 /mm0 /mm1] pushVariables |
[ |
[ |
/ceq arg1 def |
/ceq arg1 def |
ceq pruneZeroVector /ceq set |
ceq pruneZeroVector /ceq set |
|
|
(Monomial ideal is not accepted as an input.) cone_ir_input |
(Monomial ideal is not accepted as an input.) cone_ir_input |
} { } ifelse |
} { } ifelse |
|
|
|
/mm1 |
|
( Use [(keep_tmp_files) 1] oxshell to check the input to polymake2tfb. See /tmp or $TMP ) |
|
def |
|
|
ceq genPo2 /ceq2 set |
ceq genPo2 /ceq2 set |
% ceq2 $B$O(B polymake.data(polymake.INEQUALITIES(...)) $B7A<0(B |
% ceq2 $B$O(B polymake.data(polymake.INEQUALITIES(...)) $B7A<0(B |
% polymake $B$G(B ceq2 $B$N<!85$N7W;;(B. |
% polymake $B$G(B ceq2 $B$N<!85$N7W;;(B. |
/getConeInfo.ceq ceq def /getConeInfo.ceq2 ceq2 def |
/getConeInfo.ceq ceq def /getConeInfo.ceq2 ceq2 def |
|
|
cone.debug { (Calling polymake DIM.) message } { } ifelse |
cone.debug { (Calling polymake DIM.) message } { } ifelse |
[(DIM) ceq2] doPolymake 1 get /rr set |
[(DIM) ceq2] doPolymake /rr0 set |
|
% rr0 2 get message |
|
rr0 2 get 1 get 0 get /mm0 set |
|
mm0 length 0 eq { } |
|
{ [mm0 mm1] cat error } ifelse |
|
rr0 1 get /rr set |
cone.debug {(Done.) message } { } ifelse |
cone.debug {(Done.) message } { } ifelse |
% test5 $B$K$O<!$N%3%a%s%H$H$j$5$k(B. $B>e$N9T$r%3%a%s%H%"%&%H(B. |
% test5 $B$K$O<!$N%3%a%s%H$H$j$5$k(B. $B>e$N9T$r%3%a%s%H%"%&%H(B. |
% test5.data tfbToTree /rr set |
% test5.data tfbToTree /rr set |
|
|
% FACETS $B$r;}$C$F$$$J$$$J$i:FEY7W;;$9$k(B. |
% FACETS $B$r;}$C$F$$$J$$$J$i:FEY7W;;$9$k(B. |
% POINTED, NOT__POINTED $B$bF@$i$l$k(B |
% POINTED, NOT__POINTED $B$bF@$i$l$k(B |
cone.debug { (Calling polymake FACETS.) message } { } ifelse |
cone.debug { (Calling polymake FACETS.) message } { } ifelse |
[(FACETS) ceq2] doPolymake 1 get /rr set |
[(FACETS) ceq2] doPolymake /rr0 set |
|
|
|
% rr0 2 get message |
|
rr0 2 get 1 get 0 get /mm0 set |
|
mm0 length 0 eq { } |
|
{ [mm0 mm1] cat error } ifelse |
|
|
|
rr0 1 get /rr set |
cone.debug { (Done.) message } { } ifelse |
cone.debug { (Done.) message } { } ifelse |
} { } ifelse |
} { } ifelse |
|
|
rr (VERTICES) getNode tag 0 eq { |
rr (VERTICES) getNode tag 0 eq { |
(internal error: VERTICES is not found.) error |
(internal error: VERTICES is not found.) error |
} { } ifelse |
} { |
|
rr (VERTICES) getNode |
|
(UNDEF) getNode tag 0 eq { } |
|
{ (internal error: VERTICES is UNDEF. See rr. Set /@@@polymake.web 1 def) error } ifelse |
|
} ifelse |
|
|
/cone.getConeInfo.rr1 rr def |
/cone.getConeInfo.rr1 rr def |
|
|
|
|
/vlist arg1 def |
/vlist arg1 def |
/wlist arg2 def |
/wlist arg2 def |
wlist length vlist length eq { |
wlist length vlist length eq { |
} { (cone_wtowv: length of the argument must be the same.) error} ifelse |
} { (cone_wtowv: length of the argument must be the same. Please check the values of cone.vlist cone.vv cone.type parametrizeWeightSpace) error} ifelse |
|
|
wlist to_int32 /wlist set |
wlist to_int32 /wlist set |
[ |
[ |