version 1.12, 2005/07/07 07:53:37 |
version 1.15, 2009/09/04 00:53:48 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.11 2005/07/07 06:07:46 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/gfan.sm1,v 1.14 2009/08/26 05:03:49 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 |
|
|
%> |
%> |
/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 |
|
|
|
ceq length 0 eq { |
|
(Monomial ideal is not accepted as an input.) cone_ir_input |
|
} { } 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 |
|
|
|
|
/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 |
[ |
[ |
|
|
% note: 2004.9.2 |
% note: 2004.9.2 |
cone (facetsv) getNode 2 get facet_i get /v set |
cone (facetsv) getNode 2 get facet_i get /v set |
cone (facets) getNode 2 get facet_i get /f set |
cone (facets) getNode 2 get facet_i get /f set |
|
|
|
v length 0 eq { |
|
(The codimension of the linarity space of the Grobner cone seems to be 1 or 0.) cone_ir_input |
|
} { } ifelse |
|
|
/vp v 0 get def |
/vp v 0 get def |
1 1 v length 1 sub { |
1 1 v length 1 sub { |
/ii set |
/ii set |
|
|
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
|
} def |
|
|
|
%%change |
|
/cone_ir_input { |
|
/arg1 set |
|
[/msg ] pushVariables |
|
[ |
|
/msg arg1 def |
|
(---------------) message |
|
msg message |
|
( ) message |
|
(Please also refer to the value of the variables cone.getConeInfo.rr0) message |
|
( cone.getConeInfo.rr1 cone.Lp cone.cinit) message |
|
$ cone.cinit (FACETS) getNode :: $ message |
|
(We are sorry that we cannot accept this input.) error |
|
] pop |
|
popVariables |
} def |
} def |