version 1.3, 2003/12/06 02:49:22 |
version 1.6, 2013/09/21 04:48:36 |
|
|
% $OpenXM: OpenXM/src/kan96xx/trans/polymake.sm1,v 1.2 2003/12/04 08:00:13 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/trans/polymake.sm1,v 1.5 2013/09/20 05:12:24 takayama Exp $ |
% It is a polymake interface |
% It is a polymake interface |
|
|
/polymake.start { |
/polymake.start { |
|
|
k0connectr /@@@polymake.k0.ccc oxk0.ccc def /oxk0.ccc [ ] def |
k0connectr /@@@polymake.k0.ccc oxk0.ccc def /oxk0.ccc [ ] def |
@@@polymake.k0.ccc oxsetmathcap @@@polymake.k0.ccc oxmathcap |
@@@polymake.k0.ccc oxsetmathcap @@@polymake.k0.ccc oxmathcap |
} { } ifelse |
} { } ifelse |
|
[(parse) ( 1 )] extension pop % BUG, dummy to avoid bus error on mac.2013.09.21 |
[(which) (polymake)] oxshell tag 0 eq { |
[(which) (polymake)] oxshell tag 0 eq { |
[(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell |
[(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell |
[(which) (polymake)] oxshell tag 0 eq { |
[(which) (polymake)] oxshell tag 0 eq { |
|
|
% doPolymake |
% doPolymake |
% [ tfb-string tree error] |
% [ tfb-string tree error] |
[(doPolymake) |
[(doPolymake) |
[(It calls polymake to make several construction for polytopes.) |
[(It calls polymake via oxshell and ox_k0 to make several construction for polytopes.) |
([action data_in_polymake_tfb_format] doPolymake ) |
([action data_in_polymake_tfb_format] doPolymake ) |
( [result_in_tfb result_in_tree errors]) |
( [result_in_tfb result_in_tree errors]) |
(polymake, polymake2tfb, ox_k0 must be installed.) |
(polymake, polymake2tfb, ox_k0 must be installed.) |
(cf. @@@polymake.k0.ccc ) |
(cf. @@@polymake.k0.ccc, kan96xx/Doc/oxshell.*, kan96xx/trans/polymake.sm1, oxshell ) |
|
(The variable @@@doPolymake.vars keeps session logs with the polymake) |
(Example:) |
(Example:) |
% ( [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell ) |
% ( [(export) (PATH) (=) (/usr/local/polymake/bin:${PATH})] oxshell ) |
$ [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]])))]$ |
$ [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1/2]])))]$ |
( doPolymake /rr set ) |
( doPolymake /rr set ) |
|
( Keys---properties are FACETS, CONE_DIM, LINEARITY_DIM, FEASIBLE, AFFINE_FULL, ... ) |
]] putUsages |
]] putUsages |
/doPolymake { |
/doPolymake { |
/arg1 set |
/arg1 set |
|
|
@@@polymake.k0.ccc oxpopcmo /ptree set |
@@@polymake.k0.ccc oxpopcmo /ptree set |
@@@polymake.k0.ccc ( QuoteMode(0); ) oxexecutestring |
@@@polymake.k0.ccc ( QuoteMode(0); ) oxexecutestring |
[(treeToPolymake) ptree] extension /pNative set |
[(treeToPolymake) ptree] extension /pNative set |
|
[ptree pNative pAction] /@@@doPolymake.vars set %for debug |
%% step 2: calling the polymake |
%% step 2: calling the polymake |
[(polymake) (stringInOut://pNative.poly) pAction] addStdoutStderr |
[(polymake) (stringInOut://pNative) pAction] addStdoutStderr |
oxshell pop |
oxshell pop |
pError [@@@stdout @@@stderr] append /pError set |
pError [@@@stdout @@@stderr] append /pError set |
|
@@@doPolymake.vars [pNative @@@stdout] append /@@@doPolymake.vars set %for debug |
|
@@@stdout /pNative set %output file of polymake is XML file. Use old output format. |
%% step 3: polymake native data to polymake tfb |
%% step 3: polymake native data to polymake tfb |
[(polymake2tfb) (<) (stringIn://pNative) (>) (stringOut://pResult) |
[(polymake2tfb) (<) (stringIn://pNative) (>) (stringOut://pResult) |
(2>) (stringOut://@@@stderr)] oxshell pop |
(2>) (stringOut://@@@stderr)] oxshell pop |