[BACK]Return to oxshell.oxw CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

Annotation of OpenXM/src/kan96xx/Doc/oxshell.oxw, Revision 1.2

1.2     ! takayama    1: %%$OpenXM: OpenXM/src/kan96xx/Doc/oxshell.oxw,v 1.1 2003/12/05 07:53:10 takayama Exp $
1.1       takayama    2: %% "make oxshell-ja.tex" to get the platex source.
                      3: //&ja \documentclass{jarticle}
                      4: //&en \documentclass{article}
                      5:
                      6: //&ja \title{Oxshell $B$N@_7W$H<BAu(B}
                      7: //&en \title{The design and implementation of oxshell}
                      8: //&C \author{Nobuki Takayama}
1.2     ! takayama    9: //&C \date{December 8, 2003}
1.1       takayama   10: //&C \newtheorem{example}{Example}
                     11: \usepackage{html}
                     12:
                     13: \begin{document}
                     14: \maketitle
                     15:
                     16: /*&ja
                     17: OpenXM $B%W%m%8%'%/%H$G$O(B OX RFC 100 $B$rMQ$$$F<o!9$N?t3X%=%U%H%&%(%"%7%9%F%`$NE}9g2=$r;n$_$F$$$k(B.
                     18: $B?7$7$$(B OX RFC 100 $B=`5r$N%5!<%P$r:n$k>l9g$K$O(B
                     19: $B%?!<%2%C%H$H$9$k?t3X%=%U%H%&%(%"%7%9%F%`$N%=!<%9%3!<%I$K(B OX RFC 100 $BBP1~ItJ,(B
                     20: $B$r2C$($k:n6H$r$7$J$$$H$$$1$J$$(B.
                     21: $B$3$N:n6H$O%=!<%9%3!<%I$NM}2r$H$+$J$j$N<j4V$rMW$9$k(B.
                     22: $B0lJ}(B, $BB?$/$N?t3X%=%U%H%&%(%"%7%9%F%`$O$"$i$+$8$a%U%!%$%k$K%3%^%s%I$d%G!<%?$r=q$-=P$7$F$*$/$3$H$K$h$j(B
                     23: unix $B$N(B shell $B$d(B Windows $B$N%3%^%s%I%W%m%s%W%H$+$iMxMQ2DG=$J$h$&$K:n$i$l$F$$$k(B.
                     24: $B$3$N$h$&$J?t3X%=%U%H%&%(%"$r%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$H$3$NJ8=q$G$O$h$V(B.
                     25:
                     26: Oxshell $B$O>e5-$N$h$&$J%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$r%=!<%9%3!<%I$N2~JQ$J$/(B
                     27: OX RFC 100 $B=`5r$K$9$k$?$a$N$$$o$f$k%i%C%Q!<7?$N(B OX $B%5!<%P$r=q$/$?$a$NJd=u5!G=$r(B
                     28: $BDs6!$9$k(B sm1 $B$X$NAH$_9~$_4X?t$G$"$k(B.
                     29: */
                     30:
                     31: //&ja Oxshell $B$rMQ$$$F(B OX $B%5!<%P$r<B8=$9$k$N$,E,@Z$J?t3X%=%U%H%&%(%"$O0J2<$N$h$&$JFCD'$r$b$D$b$N$G$"$m$&(B.
                     32: /*&ja
                     33: \begin{enumerate}
                     34: \item $B%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$G$"$k(B.
                     35: \item $B%=!<%9%3!<%I$NJQ99$,$G$-$J$$$+:$Fq(B.
                     36: \item $B%5!<%P$H$NDL?.$,IQHK$K$*$-$J$$(B.
                     37: \item $B%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B.
                     38: \item Windows $B$G$b(B unix $B$G$bF0$+$7$?$$(B.
                     39: \end{enumerate}
                     40: */
                     41: //&ja $B$3$N$h$&$JFCD'$r4v$D$+$b$D%=%U%H%&%(%"%7%9%F%`$H$7$F$?$H$($P(B, {\tt polymake} $B$,$"$k(B
                     42: //&C (\htmladdnormallink{{\tt http://www.math.tu-berlin.de/polymake}}{http://www.math.tu-berlin.de/polymake}).
                     43: /*&ja
                     44: Polymake $B$OB?LLBN$N(B facet $B$N?t$(5s$2$J$IB?LLBN$N<o!9$N9=@.$H7W;;$r$*$3$J$&$?$a$N%=%U%H%&%(%"$G$"$k(B.
                     45: Polymake $B$O%P%C%A=hM}BP1~%"%W%j%1!<%7%g%s$G$"$j(B, $B$^$?(B C++ $B$G=q$+$l$?%=!<%9$O@hC<E*$J(B C++ $B$N5!G=$r(B
                     46: $BMxMQ$7$F$*$j%3%s%Q%$%k$,MF0W$G$J$$(B.
                     47: $B%5!<%P$H$NDL?.$NIQEY$OLdBj$K$h$k$,$"$kDxEYBg$-$$7W;;$N>l9g$ODL?.;~4V$OL5;k$G$-$k(B.
                     48: Polymake $B$OBPOCE*MxMQ$OA[Dj$7$F$*$i$:%5!<%P$N7W;;$rCfCG$7$F(B, $B:FEY3+;O$9$k$J$I$NI,MW$,$J$$(B.
                     49: $B$3$NJ8>O$G$O$3$N(B {\tt polymake} $B$rNc$K$H$C$F(B, oxshell $B$N@_7W$H<BAu$r=R$Y$k(B.
                     50: */
                     51:
                     52: //&ja \section{ox polymake $B%5!<%PF~Lg(B}
                     53: //&en \section{Introduction to ox polymake server}
                     54:
                     55: /*&ja
                     56: oxshell $B$N@_7W$H<BAu$r=R$Y$k$^$($K(B, {\tt polymake} $B$,$I$N$h$&$J%=%U%H%&%(%"$+(B,
                     57: ox polymake $B$,$I$N$h$&$KF0:n$9$k$+<BNc$r$"$2$F@bL@$7$h$&(B.
                     58: */
                     59:
                     60: //&C \begin{example} \rm
                     61: /*&ja
                     62: $BE@(B $(1,0,0)$, $(1,1,0)$, $(1,0,1)$, $(1,1,1)$ $B>e$N(B cone $B$N(B facet $B$r5a$a$h(B. \\
                     63: {\tt polymake} $B$G$O$D$.$h$&$JF~NO%U%!%$%k(B {\tt square.poly} $B$r$^$::n@.$9$k(B.
                     64: */
                     65: /*&C
                     66: {\footnotesize \begin{verbatim}
                     67: POINTS
                     68: 1 0 0
                     69: 1 1 0
                     70: 1 0 1
                     71: 1 1 1
                     72:
                     73: \end{verbatim} }
                     74: */
                     75: //&ja \noindent $B$=$7$F<!$N%3%^%s%I$r(B shell $B$+$i<B9T$9$k(B.
                     76: //&C  \ \\ \verb@ polymake square.poly FACETS @ \\
                     77: //&ja {\tt Polymake} $B$O<!$N$h$&$K7k2L$rLa$9(B.
                     78: /*&C
                     79: {\footnotesize \begin{verbatim}
                     80: FACETS
                     81: 0 0 1
                     82: 0 1 0
                     83: 1 0 -1
                     84: 1 -1 0
                     85: \end{verbatim} }
                     86: */
                     87: //&C \end{example}
                     88:
                     89:
                     90: //&C \begin{example} \rm
                     91: /*&ja
                     92: $BF1$8Nc$r(B {\tt sm1/oxshell} $B$rMQ$$$F2r$/$H<!$N$h$&$K$J$k(B.
                     93: */
                     94: //&ja $B<!$N%3%^%s%I$r(B {\tt ox\_sm1} $B$K<B9T$5$;$k(B.  $B$3$?$($O%9%?%C%/%^%7%s$NJQ?t(B {\tt rr} $B$KF~$k(B.
                     95: /*&C
                     96: {\footnotesize \begin{verbatim}
                     97:  [(FACETS) (polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]])))]
                     98:          doPolymake /rr set ;
                     99: \end{verbatim} }
                    100: */
                    101: //&ja {\tt rr} $B$K$O$D$.$h$&$JCM$,$O$$$C$F$$$k(B.
                    102: /*&C
                    103: {\footnotesize \begin{verbatim}
                    104: [ $polymake.data(polymake.POINTS([[1,0,0],[1,1,0],[1,0,1],[1,1,1]]),
                    105:    polymake.FACETS([[0,0,1],[0,1,0],[1,0,-1],[1,-1,0]]),
                    106:    polymake.AFFINE_HULL())$
                    107:   CMO tree expression of the data above
                    108:   Outputs to stdout and stderr ]
                    109: \end{verbatim} }
                    110: */
                    111: //&C \end{example}
                    112:
                    113:
                    114: //&ja \section{doPolymake $B$N=hM}$NN.$l(B}
                    115:
                    116: /*&ja
                    117: \begin{enumerate}
                    118: \item  (CMO tree $B$r(B tfb/2 $B7A<0$X(B.)
                    119: \item  tfb/2 $BI=8=$N%G!<%?$r(B polymake $B$NF~NO7A<0$X(B.
1.2     ! takayama  120:      ({\tt OpenXM/src/k097/k0} $B$N(B {\tt QuoteMode} $B$rMxMQ$7$F(B CMO tree $B7A<0$X(B.
        !           121:       $B$=$l$+$i(B sm1 $B$N(B treeToPolymake extension $B$rMQ$$$k(B.
        !           122:       $B%=!<%9$O(B, {\tt OpenXM/src/kan96xx/trans/tree2polymake.c})
1.1       takayama  123: \item  polymake $B$r(B {\tt oxshell} $B$G8F$S=P$9(B.
1.2     ! takayama  124:    ({\tt OpenXM/src/kan96xx/trans/polymake.sm1}).
        !           125: \item  $B$&$1$H$C$?(B polymake $B7A<0$N%G!<%?$r(B tfb/2 $B7A<0$X(B
        !           126:    ({\tt OpenXM/src/kan96xx/trans} $B$N(B {\tt yy\_polymake.y} $B$G%Q!<%9(B.
        !           127:     polymake2tfb $B$,JQ49MQ$N%P%$%J%j(B.)
1.1       takayama  128: \item  (tfb/2 $B7A<0$r(B CMO tree $B$X(B.)
                    129: \end{enumerate}
                    130:
1.2     ! takayama  131: {\tt doPolymake} $B$N%=!<%9$O(B \\ {\tt kan96xx/trans/polymake.sm1} $B$K$"$k(B.
1.1       takayama  132: */
                    133:
                    134: //&ja \section{{\tt Oxshell} $B$NFCD'(B}
                    135:
                    136: /*&ja
                    137: \noindent OX RFC 100 $B$K$O%U%!%$%k$N35G0$,$J$$(B. $B$7$?$,$C$F(B, \\
                    138: \verb@ polymake $B%U%!%$%kL>(B $BF0:n(B @ \\
                    139: $B$_$?$$$J%W%m%0%i%`$O(B OX $B%9%?%C%/%^%7%s$N>e$N%G!<%?$r%U%!%$%k$K=q$-=P$7$F$+$i(B
                    140: $B<B9T$7$F(B, $B$=$l$+$i$^$?%9%?%C%/%^%7%s$N>e$N%G!<%?$KJQ49$7$J$$$H$$$1$J$$(B.
                    141: $B$3$NJQ49$OC1=c;E;v$G$"$k$,(B, $B<B:]$N%W%m%0%i%`$O(B unix $B$H(B windows $B$N%Q%9L>$N0c$$$H$+(B,
                    142: /bin/sh $B$NB8:_$r2>Dj$G$-$k(B unix $B$H(B /bin/sh $B$NB8:_$r2>Dj$G$-$J$$(B windows
                    143: $B$H$+$$$m$s$JMWAG$,$"$j(B, $B%W%m%0%i%`$,BgJQFI$_$K$/$/J]<i$b$7$K$/$$(B
                    144: ( phc $B$G$N7P83(B).  ZPG $B$N6KCW$G$"$k(B.
1.2     ! takayama  145:
1.1       takayama  146: {\tt oxshell} $B$G$O$3$N;E;v$O<!$N(B 1 $B9T$G=q$/(B. \\
1.2     ! takayama  147: \verb@[(polymake) (stringInOut://$B%9%?%C%/%^%7%sJQ?tL>(B.poly) $BF0:n(B] oxshell@\\
1.1       takayama  148: $B%9%?%C%/%^%7%s$NJQ?t$r%U%!%$%k$r$_$J$7$F$$$k(B.
1.2     ! takayama  149:
        !           150: $B$3$N$h$&$J9M$(J}$O(B, $B$J$K$b?7$7$$$b$N$G$O$J$$(B.
        !           151: $BJ8;zNsJQ?t$r%U%!%$%k$N$h$&$K(B input output stream $B$H$_$J$9$H$$$&$N$O(B Java $B$N(B
        !           152: io.StringReader ( io.InputStreamReader $B$NBe$o$j(B) $BEy$G;H$o$l$F$$$k(B.
        !           153: $B$^$?%3%^%s%I$N<B9T7k2L$rJ8;zNs$H$7$FJQ?t$KBeF~$9$kF0:n$O(B,
        !           154: $B$?$H$($P%9%/%j%W%H8@8l$G$"$k(B Python $B$G$O(B \verb@ x=os.popen("abc","r").read(); @
        !           155: $B$H$7$F4JC1$K<B9T$G$-$k(B.
        !           156: $B$7$+$7$J$,$i$3$l$i$N9M$($r?t3X%=%U%H%&%(%"$NE}9g2=$N$?$a$K;H$&$?$a$N<BAu$OB8:_$7$F$$$J$+$C$?(B.
        !           157: $B$3$l$,(B oxshell $B%3%^%s%I$NF3F~$K$h$C$F2r7h$5$l$kE@$N0l$D$G$"$k(B.
        !           158: $B$3$l$i$O$h$/CN$i$l$F$$$k9)IW$@$,$3$l$r?t3X%=%U%H%&%(%"E}9g:n6H$K:N$jF~$l$k$3$H$K$h$j(B,
1.1       takayama  159: $B9M$(J}$,@0M}$5$l%W%m%0%i%`$NJ]<i@-$,BgJQ$h$/$J$j(B, $B$^$??7$7$$%P%C%A7?%"%W%j%1!<%7%g%s$N(B
                    160: OX $B%5!<%P2=$,3Z$K$J$C$?(B.
                    161:
                    162:
                    163: {\tt oxshell} $B$N$=$NB>$N%3%^%s%I$K$D$$$F$O(B, sm1 $B$G(B {\tt (oxshell) usage}
                    164: $B$N2r@b$r8+$h(B.
1.2     ! takayama  165: {\tt oxshell} $B$N%=!<%9%3!<%I$O(B {\tt OpenXM/src/kan96xx/Kan/shell.c}.
1.1       takayama  166: $B>-MhE*$K$O(B /bin/sh $B$N3HD%8@8l$H$9$kM=Dj(B.
                    167:
                    168: OX RFC 100 $B$K%U%!%$%k$N35G0$r2C$($k:n6H$O(B OX RFC 103 (100, 101 $B$NJd$$(B) $B$G$d$kM=Dj(B.
1.2     ! takayama  169: */
        !           170:
        !           171: //&ja \section{Asir $B$h$j;H$&(B oxshell }
        !           172: //&en \section{Oxshell on asir}
        !           173:
        !           174: /*&ja
        !           175: Asir $B$+$i(B sm1/oxshell $B$rMxMQ$9$k$?$a$N4X?t$O(B  \\
        !           176: {\tt OpenXM/src/asir-contrib/packages/src/oxshell.rr}
        !           177: $B$K$^$H$a$i$l$F$$$k(B. $B<!$N%3%^%s%I$G%m!<%I$9$k(B.
        !           178: */
        !           179: /*&C
        !           180: \begin{verbatim}
        !           181: [1163]:= load("oxshell.rr");
        !           182: \end{verbatim}
        !           183: */
        !           184:
        !           185: //&ja $B4v$D$+Nc$r$_$F$_$h$&(B.
        !           186: //&en Let us see some examples.
        !           187:
        !           188: /*&ja unix $B>e$G<!$N%3%^%s%I$N<B9T$K$h$j(B {\tt ls} $B$N(B stdout $B$X$N=PNO$,J8;zNs$H$7$F(B {\tt S} $B$N(B
        !           189: $BBh0lMWAG$H$7$F(B, stderr $B$X$N=PNO$,J8;zNs$H$7$F(B {\tt S} $B$NBh(B2$BMWAG$H$7$F3JG<$5$l$k(B.
        !           190: */
        !           191: /*&C
        !           192: \begin{verbatim}
        !           193: [1164]:= S = oxshell.oxshell(["ls"]);
        !           194: \end{verbatim}
        !           195: */
        !           196:
        !           197: /*&ja
        !           198: $BJ8;zNs(B {\tt S} $B$K3JG<$5$l$?C18l(B dog, cat, lion $B$r(B unix $B$N%D!<%k(B sort $B$G(B
        !           199: $BJB$YJQ$($k$K$O<!$N$h$&$K=q$/(B.
        !           200: $BF~NO$O(B oxshell $B$r<B9T$7$F$$$k%9%?%C%/%^%7%s$NJQ?t(B {\tt S} $B$K3JG<$5$l$F$$$k(B.
        !           201: */
        !           202: /*&C
        !           203: \begin{verbatim}
        !           204: [1163]:= S="dog\ncat\nlion\n";
        !           205: [1164]:= oxshell.set_value("S",S);
        !           206: [1165]:= T=oxshell.oxshell(["sort","stringIn://S"]);
        !           207: [cat
        !           208: dog
        !           209: lion
        !           210: ,]
        !           211: \end{verbatim}
        !           212: */
        !           213:
        !           214: /*&ja
        !           215: {\tt OpenXM/src/asir-contrib/packages/src/taka\_ahg.rr} $B$N(B
        !           216: $B4X?t(B {\tt taka\_ahg.b(A,Idx)} $B$O(B oxshell $B$K$h$k(B polymake $B8F$S=P$75!G=$r(B
        !           217: $BMQ$$$??t3X4X?t$N<BAuNc$G$"$k(B.
        !           218: $B$3$N4X?t$O(B $B9TNs(B {\tt A} $B$KIU?o$7$?(B $BJ}8~(B {\tt Idx} $B$N$"$k(B $b$ $B4X?t$r7W;;$9$k(B.
        !           219: $B$3$l$O(B {\tt A} $B$NDj5A$9$k(B cone $B$N%U%!%;%C%H$r$"$i$o$90l<!<0$N@Q$GI=8=$5$l$k$3$H$,(B,
        !           220: $BCN$i$l$F$$$k(B
        !           221: (Saito, Mutsumi; Sturmfels, Bernd; Takayama, Nobuki; Hypergeometric polynomials and integer programming. Compositio Math. 115 (1999), no. 2, 185--204
        !           222: $B$*$h$S(B
        !           223: Saito, Mutsumi; Parameter shift in normal generalized hypergeometric systems. Tohoku Math. J. (2) 44 (1992), no. 4, 523--534
        !           224: $B$r$_$h(B.)
        !           225: */
        !           226:
        !           227: /*&C
        !           228: \begin{verbatim}
        !           229: [1163]:= load("oxshell.rr");
        !           230: [1164]:= load("taka_ahg.rr");
        !           231: [1165]:=  A=[[1,0,0],[1,1,0],[1,0,1],[1,1,1],[1,2,0]];
        !           232: [1166]:= fctr(taka_ahg.b(A,4,[s1,s2,s3]));
        !           233: [[1,1],[s1+2*s2,2],[s1+2*s2-1,1]]
        !           234: \end{verbatim}
        !           235: */
        !           236:
        !           237: /*&C
        !           238: \begin{verbatim}
        !           239: def b(A,Idx,V) {
        !           240:   F = oxshell.facets(A);    /* Computing all the facets by polymake server.*/
        !           241:   F = F[1];                 /* F is the set of the facets */
        !           242:   P = A[Idx];
        !           243:   Nfacets = length(F);
        !           244:   F = toPrimitive(A,F);     /* Translate into primitive supporting function */
        !           245:   Bf = 1;
        !           246:   for (I=0; I<Nfacets; I++) {
        !           247:     H = matrix_inner_product(P,F[I]);
        !           248:     if (H != 0) {
        !           249:       B = matrix_inner_product(P,V);
        !           250:       for (J=0; J<H; J++) {
        !           251:         Bf = Bf*(B-J);  /* See the papers above. */
        !           252:       }
        !           253:     }
        !           254:   }
        !           255:   return(Bf);
        !           256: }
        !           257: \end{verbatim}
        !           258: */
        !           259:
        !           260: //&ja \section{$B$^$H$a(B}
        !           261: //&en \section{Conclusion}
        !           262: /*&ja
        !           263: OX RFC 100 $B$K$O%U%!%$%k$N35G0$,$J$$(B.
        !           264: $B$7$?$,$C$F(B, $B%P%C%A7?%"%W%j%1!<%7%g%s$r(B OX $B%5!<%P$H$7$F8F$V$?$a$K$O(B,
        !           265:  OX $B%9%?%C%/%^%7%s$N>e$N%G!<%?$r%U%!%$%k$K=q$-=P$7$F$+$i(B
        !           266: $B<B9T$7$F(B, $B$=$l$+$i$^$?%9%?%C%/%^%7%s$N>e$N%G!<%?$KJQ49$7$J$$$H$$$1$J$$(B.
        !           267: $B$3$NA`:n$rC;$/8+DL$7$h$/=q$1$k$h$&$K(B sh $B$NI=8=J}K!$r3HD%$7$?(B.
        !           268: $B$3$N$h$&$J9M$(J}$O(B, $B$J$K$b?7$7$$$b$N$G$O$J$/(B,
        !           269: $B$?$H$($P%9%/%j%W%H8@8l$G$"$k(B Python $B$G$O;w$?I=8=$,$G$-$k(B.
        !           270: $B$7$+$7$J$,$i$3$l$i$N9M$($r?t3X%=%U%H%&%(%"$NE}9g2=$N$?$a$K;H$&$?$a$N<BAu$OB8:_$7$F$$$J$+$C$?(B.
        !           271: $B$3$l$,(B oxshell $B%3%^%s%I$NF3F~$K$h$C$F2r7h$5$l$kE@$N0l$D$G$"$k(B.
        !           272: $B$3$l$i$O$h$/CN$i$l$F$$$k9)IW$@$,$3$l$r?t3X%=%U%H%&%(%"E}9g:n6H$K:N$jF~$l$k$3$H$K$h$j(B,
        !           273: $B9M$(J}$,@0M}$5$l%W%m%0%i%`$NJ]<i@-$,BgJQ$h$/$J$j(B, $B$^$??7$7$$%P%C%A7?%"%W%j%1!<%7%g%s$N(B
        !           274: OX $B%5!<%P2=$,3Z$K$J$C$?(B.
        !           275:
        !           276: OpenXM $B$O8@8l:.:_7?4D6-$G$"$j(B, $B$=$N%/%i%$%"%s%H$G$b$"$k(B asir $B$d(B kan/sm1 $B$O$3$N$h$&$K(B
        !           277: $B%9%/%j%W%H8@8lIw$N5!G=$,DI2C$5$lB3$1$F$$$k$,(B, $B$3$N;n$_$O$=$N0l4D$G$"$k(B.
1.1       takayama  278: */
                    279:
                    280: \end{document}

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