[BACK]Return to ox_math.tex CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_math / documents

Annotation of OpenXM/src/ox_math/documents/ox_math.tex, Revision 1.10

1.1       ohara       1: %#!platex
1.10    ! takayama    2: %% $OpenXM: OpenXM/src/ox_math/documents/ox_math.tex,v 1.9 2005/07/20 16:24:56 ohara Exp $
1.1       ohara       3:
                      4: \documentclass{jarticle}
1.10    ! takayama    5: \title{Mathematica $B$N(B Open XM $B2=$K$D$$$F(B
        !             6: % \\ {\small --- Open Mathematica $B%5!<%P$NFbIt9=@.(B ---}
1.1       ohara       7: }
1.9       ohara       8: \date{
                      9: %January 19, 1999
                     10: %July 12, 1999
                     11: November 25, 1999
1.8       ohara      12: (Revised July 20, 2005)
                     13: }
1.10    ! takayama   14: \author{$B>.868yG$(B}
1.1       ohara      15:
1.8       ohara      16: \def\oxmath{{\tt ox\_math}}
                     17:
1.1       ohara      18: \begin{document}
                     19: \maketitle
1.7       takayama   20:
1.10    ! takayama   21: \section{$B2f!9$,Ds6!$9$k$b$N(B}
1.6       ohara      22:
1.10    ! takayama   23: $B2f!9$,Ds6!$9$k$N$OFs$D$N%W%m%0%i%`$H$=$N%=!<%9$G$"$k!#0l$DL\$O(B
        !            24: \oxmath $B%W%m%0%i%`$G$"$j!"$3$l$O(B OpenXM $B%5!<%P$N0l<o$G$"$k!#Fs$DL\$O(B
        !            25: {\tt math2ox} $B$G$"$j!"(BOpenXM $B%/%i%$%"%s%H$G$"$k!#(B
        !            26:
        !            27: $BF0:n4D6-$O(B Solaris, Linux $B$*$h$S(B Windows$B!"BP>]$H$7$F$$$k(B Mathematica $B$N(B
        !            28: $B%P!<%8%g%s$O!"(B3.0 $B!A(B 4.2 $B$^$G$G$"$k!#%P!<%8%g%s(B 5.x $B$K$D$$$F$O!"2f!9$,=j(B
        !            29: $BM-$7$F$$$J$$$?$aD4::$7$F$$$J$$!#(B
        !            30:
        !            31: Windows $B>e$G$O(B \oxmath $B$O!"(Bcygwin $B$N$b$H$GF0:n$9$k!#(B\oxmath $B$N(B Windows
        !            32: $BBP1~$OF#K\$5$s$K$h$k(B(2002$BG/(B4$B7n(B)$B!#$"$j$,$H$&!#(B
        !            33:
        !            34: \section{Open Mathematica $B%5!<%P$N9=@.(B}
        !            35:
        !            36: Open Mathmatica $B%5!<%P(B(\oxmath)$B$O(BOpen XM $B%/%i%$%"%s%H$*$h$S(B Mathematica
        !            37: Kernel $B$HDL?.$9$k!#(B\oxmath $B$O5/F0D>8e$K(B Mathematica Kernel $B$r5/F0$7!"(B
        !            38: Mathematica Kernel $B$H6(D4$7$FF0:n$9$k!#(BMathematica Kernel $B$H$O(B MathLink
        !            39: $B%i%$%V%i%j$rMxMQ$7$FDL?.$9$k!#$D$^$j(B \oxmath $B$O(B MathLink
        !            40: $B$N%i%C%Q$@$H;W$C$F$h$$!#(BOpen XM $B%/%i%$%"%s%H$H$N4V$O%=%1%C%H$rMxMQ$7$FDL(B
        !            41: $B?.$9$k!#(B\oxmath $B$O%U%!%$%k%G%#%9%/%j%W%?(B 3,4 $B$,4{$K%*!<%W(B
        !            42: $B%s$5$l$F$$$k$H;W$C$F(B, 3 $B$+$iFI$_9~$_!"(B4 $B$K=q$-=P$9!#(B
        !            43:
        !            44: $B$5$i$K(B \oxmath $B$K$O7W;;CfCG5!G=$,I,MW$G$"$k$,!"$3$N5!G=$O(B 2003$BG/$N$O$8$a$K<BAu$5$l$?!#(B
        !            45:
        !            46: $B<!$K!"(BOpen XM $B5,Ls$h$j(B \oxmath $B$O%9%?%C%/%^%7%s$G$J$1$l$P$J$i$J$$!#(B
        !            47: $B%9%?%C%/$N%*%V%8%'%/%H$O(B cmo $B7?$NJQ?t!"$"$k$$$O$=$NGI@8%/%i%9$G$"$k(B.
        !            48: $B$D$^$j!"(BOpen XM $B5,Ls$GDj$a$i$l$?%G!<%?7A<0$rN.MQ$7$F$$$k(B.
        !            49: $B$3$NJ}K!$NMxE@$O(B Open XM $B%W%m%H%3%k$rDL$7$FDL?.$9$k$K$"$?$C$F(B
        !            50: $BFC$K%G!<%?$NJQ49$rI,MW$H$7$J$$$3$H$G$"$k(B.  $B$9$J$o$A(BCMO $B$N3F%G!<%?%?%$%W(B
        !            51: $B$O(B \oxmath $B$NFbIt$G$b(B, CMO $B$H$7$FJ];}$9$k(B
        !            52: $B$o$1$G$"$k(B.
1.1       ohara      53:
1.10    ! takayama   54: $B%5!<%P$N3F4X?t$O(B cmo* $B$r<u$1<h$j!"%?%0$r$_$F<B:]$N%/%i%9$,2?$G$"$k$+$r(B
        !            55: $BCN$j!"F0:n$r7hDj$9$k(B.
1.1       ohara      56:
1.10    ! takayama   57: $B8=:_!"<BAu$5$l$F$$$k%9%?%C%/%^%7%sL?Na$O(B
1.9       ohara      58: SM\_popCMO, SM\_popString, SM\_pops, SM\_executeFunction,
1.10    ! takayama   59: SM\_executeStringByLocalParser, SM\_mathcap, SM\_setMathcap($B<u$1<h$k$@$1(B
        !            60: $B$G2?$b$7$J$$(B)$B$G$"$k!#(B
1.9       ohara      61:
1.10    ! takayama   62: \section{MathLink $B%W%m%0%i%_%s%0$H(B \oxmath}
1.9       ohara      63:
1.10    ! takayama   64: $B:G=i$K!"(BMathLink $B%W%m%0%i%_%s%0$K$D$$$F$N4pACE*;v9`$r@bL@$7!"(B
        !            65: $B<!$K(B \oxmath $B$N(B Mathematica Kernel $B$H$NDL?.ItJ,$K$D$$$F=R$Y$k!#(B
1.8       ohara      66:
1.10    ! takayama   67: MathLink $B%W%m%0%i%_%s%0$K$D$$$F$O!"35$M!"(BMathematica
        !            68: Book~\cite{Wolfram-1996} $B$d5\CO(B~\cite{miyachi-1998} $B$J$I$r;2>H$9$l$P$h$$(B
        !            69: $B$,!"I,$:$7$b$3$l$i$N=q@R$KL@3N$K=q$+$l$F$$$k$o$1$G$O$J$$(B($BC5$;$P8+$D$+$k(B
        !            70: $B$,(B)$B!#(B
        !            71:
        !            72: $B$^$:(B MathLink $B$H$O!"(BWolfram $B$,Ds6!$9$k%i%$%V%i%j$G$"$j!"(BMathematica $B$N%M%C(B
        !            73: $B%H%o!<%/BP1~ItJ,$KAjEv$9$k!#(BMathematica Kernel $B$HDL?.$9$k%W%m%0%i%`$r=q(B
        !            74: $B$3$&$H$9$k$J$i$P!"(BMathLink $B$rMxMQ$9$kI,MW$,$"$k!#(BMathLink $B$NFbIt9=@.$OL@(B
        !            75: $B$i$+$K$5$l$F$$$J$$$,!"(B{\bf $BBgItJ,$O%M%C%H%o!<%/F)2aE*(B}$B$G$"$k(B($BNc30$O$"$k(B)$B!#(B
        !            76:
        !            77: $B$^$:!"(BMathLink $B$NDL?.O)$G8r49$5$l$k%G!<%?$,2?$J$N$+!"$H$$$&$3$H$rM}2r$9(B
        !            78: $B$kI,MW$,$"$k!#Ez$O(B{\bf Mathematica$B$N<0(B}$B$G$"$k!#$3$l$O<+L@$G$O$J$$!#(B
        !            79: $B<!$N$h$&$J<0$,$=$NNc$G$"$k!#(B
1.8       ohara      80: \begin{verbatim}
                     81:     EvaluatePacket[Sin[\$VersionNumber]]
                     82:     ReturnPacket[Sin[x]]
                     83:     InputNamePacket["In[1]:= "]
                     84:     MenuPacket[1,"Interrupt> "]
                     85: \end{verbatim}
1.10    ! takayama   86: $B$3$N$h$&$J(B *Packet[] $B$r(B \cite{Wolfram-1996}$B$G$O%Q%1%C%H$H8F$s$G$$$k(B.
        !            87: MathLink $B$rMQ$$$F!"3N<B$J%W%m%0%i%_%s%0$r$9$k$?$a$K$O!"$3$l$i$N%Q%1%C%H(B
        !            88: $B$r@5$7$/07$&I,MW$,$"$k!#(B
1.8       ohara      89:
1.10    ! takayama   90: $B$5$F!"(BMathematica Kernel $B$N5/F0$*$h$SDL?.O)$N3NN)$K$D$$$F$O>JN,$9$k!#(B
        !            91: $B$$$C$?$s!"DL?.O)$,3NN)$5$l$?$i!"(B
1.8       ohara      92: \begin{enumerate}
1.10    ! takayama   93: \item Mathematica Kernel $B$K<0$rAw$k!#(B
        !            94: \item Mathematica Kernel $B$+$i<0$r<u$1<h$k!#(B
1.8       ohara      95: \end{enumerate}
1.10    ! takayama   96: $B$r7+$jJV$9$N$,(B MathLink $B$G$N%W%m%0%i%_%s%0$G$"$k!#(B
1.8       ohara      97:
1.10    ! takayama   98: \oxmath $B$O(B Mathematica $B$H0J2<$N$h$&$J0UL#$G(B{\bf $BJ8;zNs%Y!<%9(B}$B$GDL?.$7$F(B
        !            99: $B$$$k!#$^$:(B Mathematica Kernel $B$KI>2A$5$;$?$$<0$,!"(BC $B8@8l$NJ8;zNs$GM?$($i(B
        !           100: $B$l$F$$$k$H$7$F!"(Blink $B$G;X$7<($9(BMathematica Kernel $B$K(B
1.8       ohara     101: \begin{verbatim}
1.9       ohara     102: int ml_evaluateStringByLocalParser(char *string)
1.8       ohara     103: {
                    104:     MLPutFunction(link, "EvaluatePacket", 1);
                    105:     MLPutFunction(link, "ToExpression", 1);
1.9       ohara     106:     MLPutString(link, string);
1.8       ohara     107:     MLEndPacket(link);
                    108: }
                    109: \end{verbatim}
1.10    ! takayama  110: $B$H$7$FAw?.$9$k!#%Q%1%C%H$O!"(B
        !           111: EvaluatePacket[ToExpression[{\it string}]] $B$G$"$k!#(B
        !           112: $B$3$3$G(B ToExpression $B$O(B Mathematica $B$NAH$_9~$_4X?t$G$"$j(B,
        !           113: $BJ8;zNs(B {\it string} $B$r0z?t$H$7$F(B Mathematica $B$N<0$rJV$9(B.
1.9       ohara     114: (\cite[pp.407]{Wolfram-1996})
1.8       ohara     115:
1.10    ! takayama  116: $BI>2A$5$l$?7k2L$rG[Ns(B str $B$K3JG<$9$k$K$O!"C1=c$K$O<!$N$h$&$K$J$k!#(B
1.8       ohara     117: \begin{verbatim}
                    118: int receive_sample(char str[])
                    119: {
                    120:     while (MLNextPacket(link) != RETURNPKT)
                    121:         MLNewPacket(link);
                    122:     switch(MLGetNext(link)) {
                    123:     MLTKSTR:
                    124:         MLGetString(link, &str);
                    125:         ...
                    126:     MLTKINT:
                    127:         ...
                    128:     }
                    129:     MLNewPacket(link);
                    130: }
                    131: \end{verbatim}
1.10    ! takayama  132: $B$3$NNc$G$O(B ReturnPacket[] $B0J30$rL5;k$7$F$$$k$,!"<B:]$K$O$3$s$J$KC1=c$K$O(B
        !           133: $B=q$1$J$$!#(B\oxmath $B$N<BAu$G$O!"(Bmlo.c $B$N(B
1.8       ohara     134: ml\_next\_packet(), ml\_new\_packet(), ml\_read\_packet(),
                    135: ml\_read\_returnpacket(), ml\_read\_menupacket(), ml\_read\_textpacket()
1.10    ! takayama  136: $B$J$I$r8+$F$[$7$$!#(B
1.8       ohara     137:
1.9       ohara     138: \bigskip
1.1       ohara     139:
1.10    ! takayama  140: $BJ8;zNs$K$h$i$:!"(BCMO $B$rAw$k$3$H$b$G$-$k(B.
1.1       ohara     141:
1.10    ! takayama  142: \oxmath $B$O(B, CMO $B$r<!$N5,B'$G(B MathLink $B$N%*%V%8%'%/%H$KJQ49$9$k(B.
1.9       ohara     143: \[
                    144: \begin{array}{lcl}
                    145: \mbox {CMO\_INT32} & \to & \mbox{MLTKINT}, \\
                    146: \mbox {CMO\_STRING} & \to & \mbox{MLTKSTR}, \\
                    147: \mbox {CMO\_LIST} & \to & \mbox{MLTKFUNC}, \\
1.10    ! takayama  148: \mbox {$B$=$NB>$N(B CMO} & \to & \mbox{ToExpression[$BJ8;zNs(B]}
1.9       ohara     149: \end{array}
                    150: \]
1.10    ! takayama  151: $B5U$K(B MathLink $B$N%*%V%8%'%/%H$O<!$N5,B'$G(B CMO $B$KJQ49$5$l$k(B.
1.9       ohara     152: \[
                    153: \begin{array}{lcl}
                    154: \mbox {MLTKERR} & \to & \mbox{CMO\_ERROR2}, \\
                    155: \mbox {MLTKINT} & \to & \mbox{CMO\_ZZ}, \\
                    156: \mbox {MLTKSTR} & \to & \mbox{CMO\_STRING},\\
                    157: \mbox {MLTKREAL} & \to & \mbox{CMO\_IEEE\_DOUBLE\_FLOAT}, \\
                    158: \mbox {MLTKSYM} & \to & \mbox{CMO\_STRING}, \\
                    159: \mbox {MLTKFUNC} & \to & \mbox{CMO\_LIST}
                    160: \end{array}
                    161: \]
1.10    ! takayama  162: $B$3$NJQ495,B'$OL@$i$+$K2D5U$G$J$$$N$GCm0U(B.
1.1       ohara     163:
1.9       ohara     164: \bigskip
1.1       ohara     165:
1.10    ! takayama  166: CMO\_ZZ $B$r$b$H$K<BAu$r@bL@$7$h$&(B.
        !           167: $B$^$:(B, MLTKINT $B$OB?G\D9@0?t7?$G$"$k$,(B, MathLink $B$NFbIt%G!<%?9=B$$,(B
        !           168: $B8x3+$5$l$F$$$J$$$?$a(B,
        !           169: CMO\_ZZ ($B$"$k$$$O(B GNU GMP library $B$N@0?t(B)$B$rD>@\(B MLTKINT $B$K(B
        !           170: $BJQ49$9$k$3$H$O$G$-$J$$(B.  $B$D$^$j(B CMO\_ZZ $B$,@0?t7?$G$"$k$H(B MathLink $B$KCN$i(B
        !           171: $B$;$k$3$H$O$G$-$J$$(B.  $B$=$3$G(B, $B<!$N$h$&$JJ}K!$r$H$k$3$H$K$J$k(B.
1.1       ohara     172:
                    173: \begin{verbatim}
1.9       ohara     174: export MLINK link;
                    175: int ml_send_cmo_zz(cmo *m)
1.1       ohara     176: {
1.9       ohara     177:     MLPutFunction(link, "ToExpression", 1);
                    178:     MLPutString(link, new_string_set_cmo(m));
1.1       ohara     179: }
                    180: \end{verbatim}
                    181:
1.10    ! takayama  182: $B$3$N$h$&$K$9$k$H(B, Mathematica $BB&$G$O(B, $BNc$($P(B ToExpression["1234567890"]
        !           183: $B$NI>2A$,9T$o$l(B, $BJ8;zNs%G!<%?$+$i@0?t(B 1234567890 $B$,I|85$5$l$k(B.
1.1       ohara     184:
1.10    ! takayama  185: $B5U$K(B, Mathematica $B$+$iAw$i$l$?B?G\D9@0?t$O(B, $B%^%7%s@0?t$NHO0OFb$G$"$l$P(B,
        !           186: int $B$H$7$F<hF@2DG=(B(MLGetInteger $B$r;H$&(B)$B$G$"$k$,(B, $B<u$1<h$kA0$K(B int $B$K<}$^(B
        !           187: $B$k$+H]$+$rCN$k$3$H$O$G$-$J$$(B. int $B$K<}$^$i$J$$>l9g!"%G!<%?$,@Z$j<N$F$i$l(B
        !           188: $B$F$7$^$&$N$GCm0U$,I,MW$G$"$k(B.  $B$^$?(B, $BD>@\(B CMO\_ZZ $B$H$7$F<hF@$9$k$3$H$bIT(B
        !           189: $B2DG=$G$"$k(B.  (MathLink $B>e$G$I$N$h$&$J7A<0$G%G!<%?8r49$5$l$F$$$k$N$+$N>p(B
        !           190: $BJs$O<j85$K$"$k;qNA$+$i$OF@$i$l$J$+$C$?(B)
1.1       ohara     191:
1.10    ! takayama  192: $B$7$+$7$J$,$i(B, $B$?$H$((B Mathematica $BB&$+$i@0?t%G!<%?$,Aw$i$l$F$$$?$H$7$F$b(B,
        !           193: $B$=$N%G!<%?$rJ8;zNs$KJQ49$7$F<u$1<h$k$3$H$O(B MathLink $B$N5!9=>e2DG=$G$"$k(B.
1.1       ohara     194:
1.10    ! takayama  195: $B$3$l$rMxMQ$7$F(B, $B2f!9$O<!$N$h$&$K$7$F@0?t$r<u$1<h$k(B.
1.1       ohara     196: \begin{verbatim}
1.9       ohara     197: export MLINK link;
                    198: cmo_zz* ml_receive_cmo_zz()
1.1       ohara     199: {
1.9       ohara     200:     cmo_zz *zz = NULL;
                    201:     if(MLGetNext(link) == MLTKINT) {
                    202:         char *s;
                    203:         MLGetString(link, &s);
                    204:         zz = new_cmo_zz_set_string(s);
                    205:         MLDisownString(link, s);
                    206:     }
                    207:     return zz;
                    208: }
                    209: \end{verbatim}
1.1       ohara     210:
1.10    ! takayama  211: $B$D$^$j!"(BMathematica $B$+$i@0?t$rJ8;zNs$H$7$F<u$1<h$j!"$=$NJ8;zNs$r(B
        !           212: \oxmath $B$,(B CMO\_ZZ $B$KD>$7$F$$$k!#(B
1.6       ohara     213:
1.10    ! takayama  214: % $B$3$N$h$&$K4pK\E*$K(B MathLink $B$G$OA4$F$N%G!<%?$rJ8;zNs$G<u$1<h$k$7$+J}K!$O(B
        !           215: % $B$J$$!#$I$N$h$&$J<oN`$N%G!<%?$G$"$k$+$O<u$1<h$kA0$KCN$k$3$H$O$G$-$k!#%G!<(B
        !           216: % $B%?$N7?$O!"(BMLTKERR($B%(%i!<(B), MLTKINT($B@0?t(B), MLTKSTR($BJ8;zNs(B), MLTKREAL($B<B?t(B),
        !           217: % MLTKSYM ($B%7%s%\%k(B), MLTKFUNC($B4X?t(B) $B$N$$$:$l$+$G$"$k!#$3$N$h$&$J;v>p$G(B
        !           218: % Mathematica $B$+$i<u$1<h$C$?%G!<%?$O4pK\E*$K(B CMO\_STRING$B$H$7$F%9%?%C%/$K@Q(B
        !           219: % $B$^$l$k$N$G!"%/%i%$%"%s%HB&$G$=$NJ8;zNs$N2r<a$r$9$kI,MW$,$G$F$/$k!#$7$+$7(B
        !           220: % $B$J$,$i!"A4$F$N(B MathLink $B%*%V%8%'%/%H$,J8;zNs$KJQ49$G$-$k$o$1$G$O$J$$$N$G!"(B
        !           221: % $B$=$N<h$j07$$$K$OCm0U$rMW$9$k!#(B
1.1       ohara     222:
1.10    ! takayama  223: \section{\oxmath $B$X$N7W;;CfCG5!G=$N<BAu(B}
1.8       ohara     224:
                    225: \noindent
1.10    ! takayama  226: {\bf $BCm0U(B: {\tt ox\_math\_interruption.tex}
        !           227: $B$K(B Risa/Asir Conference (2003) $B$G$N9V1i869F$,$"$k(B.}
1.8       ohara     228:
1.10    ! takayama  229: OpenXM $B%W%m%H%3%k$O!"%(%s%8%s$KBP$7$F!"7W;;CfCG5!G=$rMW5a$9$k!#(B\oxmath
        !           230: $B$N$h$&$J(B wrapper $B%W%m%0%i%`$G$O!"$=$N$h$&$J5!G=$r<BAu$9$k$N$O0lHL$K$OFq(B
        !           231: $B$7$$$,!"(BMathLink $B$K$O(B Mathematica Book~\cite{Wolfram-1996} $B$K=q$+$l$F$$(B
        !           232: $B$J$$5!G=$,$"$j(B(\cite{MathSource-Google1}, \cite{MathSource-Google2},
        !           233: \cite{Math-Output1})$B!"$=$N$R$H$D$rMQ$$$F!"(B\oxmath $B$K7W;;CfCG5!G=$r<BAu$7(B
        !           234: $B$?!#$3$N@a$G$O!"$=$N<BAu$K$D$$$F@bL@$9$k!#(B
1.8       ohara     235:
1.10    ! takayama  236: Mathematica Kernel $B$KBP$9$k3d$j9~$_$O!"(B
1.8       ohara     237: \begin{enumerate}
1.10    ! takayama  238: \item MLPutMessage $B$G(B Mathematica Kernel $B$K(B MLInterruptMessage $B$rAw$k!#(B
        !           239: \item $BDL?.O)$N8e;OKv$r9T$$!":G=*E*$K(B ReturnPacket[\$Aborted] $B$r<u$1<h$k!#(B
1.8       ohara     240: \end{enumerate}
1.10    ! takayama  241: $B$3$H$G$J$5$l$k!#(B
        !           242: MLPutMessage $B$O(B MathLink $B$NHs8x3+4X?t$G%M%C%H%o!<%/F)2a@-$O$J$$!#(B
        !           243: Unix $B$H(B Windows $B$G$O0[$J$k$,!"(BUnix $B$N>l9g!"(BMLInterruptMessage $B$N<BBN$O(B
        !           244: SIGINT $B$G$"$k!#(B
        !           245: $BDL?.O)$N8e;OKv$K$O!"(B{\bf Mathematica Kernel $B$N%P!<%8%g%s0MB8@-$,$"$k(B}$B$N$G!"(B
        !           246: $B$=$l$r2sHr$9$k$H!"7k6I!"<!$N<j=g$K$J$k!#(B
1.8       ohara     247: \begin{enumerate}
                    248: \item MLPutMessage(link, MLInterruptMessage)
1.10    ! takayama  249: \item MenuPacket[1,"Interrupt> "] $B$r<u$1<h$l$P7W;;$,CfCG$5$l$F$$$k(B
1.8       ohara     250: \item MLPutString(link, "$\backslash$n")
1.10    ! takayama  251: \item MenuPacket[0,"Interrupt> "] $B$r<u$1<h$k(B
1.8       ohara     252: \item MLPutString(link, "a")
1.10    ! takayama  253: \item TextPacket["..."] $B$r<u$1<h$k(B
        !           254: \item EvaluatePacket[0] $B$rAw$C$F!"(BReturnPacket[...] $B$r$U$?$D<u$1<h$k!#(B
        !           255: $B:G=i$N$b$N$,(B ReturnPacket[\$Aborted] $B$G$"$k!#(B
1.8       ohara     256: \end{enumerate}
                    257:
1.10    ! takayama  258: $B:G8e$N<j=g$r@bL@$9$k!#(B
        !           259: $B$3$3$G!"(BReturnPacket[\$Aborted] $B$,AGD>$KJV$C$F$/$l$P$$$$$N$G$"$k$,!"(B
        !           260: $B%P!<%8%g%s(B 3.x $B$G$OJV$C$F$/$k$N$K!"%P!<%8%g%s(B4.x$B$G$O!"2?8N$+!"(B
        !           261: $BJV$C$F$3$:!"<!$N7W;;$r9T$&$H$-!"$U$?$D$^$H$a$FJV$C$F$/$k!#(B
        !           262: $B$h$C$F!"%@%_!<$K(BEvaluatePacket[0] $B$rAw$k$N$G$"$k!#(B
        !           263:
        !           264: \section{Mathematica $B$r(B OX $B$N%/%i%$%"%s%H$K(B}
        !           265:
        !           266: OpenXM $B%/%i%$%"%s%H$O(B Mathematica $B$N30It%W%m%0%i%`(B({\tt math2ox}) $B$N7A$G(B
        !           267: $B<B8=$5$l$F$$$k!#$9$J$o$A!"(BMathematica $B$H(B math2ox $B$N4V$O(B MathLink $B%W%m%H(B
        !           268: $B%3%k$G!"(Bmath2ox $B$H(B OpenXM $B%5!<%P$N4V$O(B OpenXM $B%W%m%H%3%k$GDL?.$7!"(B
        !           269: math2ox $B$,E,@Z$K>pJs$rJQ49$7$J$,$i$d$j$H$j$9$k!#$=$N0UL#$G(B wrapper $B$N0l(B
        !           270: $B<o$G$"$k$H$b8@$($k!#(B
1.1       ohara     271:
1.10    ! takayama  272: $BMxMQ$9$k$K$O!":G=i$K(B
1.1       ohara     273: \begin{verbatim}
                    274: In[1]:= Install["math2ox"]
                    275: \end{verbatim}
1.10    ! takayama  276: $B$H$7$F!"(Bmath2ox $B$r%m!<%I$7$J$1$l$P$J$i$J$$!#(B
        !           277: Mathematica $B$K?7$?$KDj5A$5$l$k%3%^%s%I$O!"(B\\
1.5       ohara     278: {\tt OxStart[s\_String], OxStartInsecure[s\_String, p\_Integer, q\_Integer],
1.9       ohara     279: \\
                    280: OxStartRemoteSSH[s\_String, host\_String],
                    281: \\
                    282: OxExecuteString[id\_Integer, s\_String],
                    283: OxParse[id\_Integer, s\_String],
                    284: \\
                    285: OxSendMessage[id\_Integer, s\_String],
                    286: OxGet[id\_Integer],
                    287: \\
                    288: OxPopCMO[id\_Integer],
                    289: OxPopString[id\_Integer],
                    290: \\
                    291: OxClose[id\_Integer],
                    292: OxReset[id\_Integer]}
                    293: \\
1.10    ! takayama  294: $B$N(B11$B8D$G$"$k!#(B
1.1       ohara     295:
1.10    ! takayama  296: math2ox $B$r%m!<%I$7$?$i!"(B
1.1       ohara     297: \begin{verbatim}
1.9       ohara     298: In[2] := pid = OxStart["ox_sm1"]
1.1       ohara     299: \end{verbatim}
1.10    ! takayama  300: $B$K$h$C$F(B OpenXM $B%5!<%P$K@\B3$9$k!#$3$N>l9g$N@\B3@h$O(B ox\_sm1 $B$G$"$k!#(B
        !           301: $BJV$jCM(B pid $B$O!"%;%C%7%g%sHV9f$G$"$k!#(B
        !           302: $B$b$A$m$s(B
1.3       ohara     303: \begin{verbatim}
1.9       ohara     304: In[2] := pid = OxStartInsecure["water.s.kanazawa-u.ac.jp", 1300, 1400]
1.3       ohara     305: \end{verbatim}
1.10    ! takayama  306: $B$N$h$&$K$7$F!"(Binsecure $B%b!<%I$G@\B3$7$F$b$h$$!#$?$@$7$3$N>l9g$O!"(B
        !           307: $B$"$i$+$8$a(B {\tt Run[]} $BEy$G!"(BOpenXM $B%5!<%P$r5/F0$7$F$*$+$J$1$l$P$J$i$J$$!#(B
1.3       ohara     308:
1.10    ! takayama  309: $B@\B3$,@.8y$7$?$i%G!<%?$rAw$C$F$_$h$&!#(B
1.3       ohara     310: \begin{verbatim}
1.9       ohara     311: In[3] := OxParse[pid, "(CMO_LIST, (CMO_STRING, "hello world"), (CMO_ZERO))"]
1.3       ohara     312: \end{verbatim}
1.10    ! takayama  313: $B$N$h$&$K(B CMO expression $B$r;XDj$9$k$3$H$K$h$C$F!"(B
        !           314: $BG$0U$N(B CMO $B$rAw?.$G$-$k!#(B
        !           315: $B@5$7$/$J$$(B CMO $B$N>l9g$K$O!"2?$bAw?.$5$l$J$$!#(B
        !           316: $B$^$?!"(BCMO $B$G$O$J$/!"(B
1.3       ohara     317: \begin{verbatim}
1.9       ohara     318: In[4] := OxParse[pid, "(OX_COMMAND, (SM_popCMO))"]
1.3       ohara     319: \end{verbatim}
1.10    ! takayama  320: $B$J$I$H$7$F!"(BOX $B%a%C%;!<%8$N7A$G5-=R$9$k$3$H$b$G$-$k!#(B
        !           321: $BCm0U$7$J$1$l$P$J$i$J$$$N$O!"(BSM $B%3%^%s%I$N>l9g!"(BOX $B%9%?%C%/%^%7%s$+$i(B
        !           322: OX $B%a%C%;!<%8$,Aw$i$l$F$/$k>l9g$,$"$k$,!"(BOxParse[] $B$rMQ$$$?>l9g!"(B
        !           323: $B$3$N%a%C%;!<%8$O<+F0E*$K$O<u?.$7$J$$(B($B8=:_$N;EMM$G$O(B)$B!#$7$?$,$C$FL@<(E*$K(B
        !           324: $B<u?.$9$kI,MW$,$"$k!#$=$N$?$a$K$O(B
1.3       ohara     325: \begin{verbatim}
1.9       ohara     326: In[5] := OxGet[pid]
1.3       ohara     327: \end{verbatim}
1.10    ! takayama  328: $B$H$9$k$@$1$G$h$$!#JV$C$F$/$k%*%V%8%'%/%H$O(B CMO $B$KBP1~$9$k$b$N$G$"$k!#(B
1.3       ohara     329: \begin{verbatim}
1.9       ohara     330: In[6] := OxPopCMO[pid]
1.3       ohara     331: \end{verbatim}
1.10    ! takayama  332: $B$rMQ$$$k>l9g$K$O$b$A$m$s(B {\tt OxGet[pid]} $B$r8F$S=P$9I,MW$O$J$$!#(B
1.3       ohara     333:
1.10    ! takayama  334: $B7W;;$r<B9T$9$k$K$O(B {\tt OxExecute[pid, ...]}
        !           335: (SM\_executeStringByLocalParser) $B$+!"E,@Z$J(B OX $B%a%C%;!<%8$rAw?.$9$k$3$H!#(B
1.1       ohara     336:
1.10    ! takayama  337: $B7W;;$,=*$o$C$?$i!"(B
1.1       ohara     338: \begin{verbatim}
1.9       ohara     339: In[7] := OxClose[pid]
1.1       ohara     340: \end{verbatim}
1.10    ! takayama  341: $B$H$9$k$H!"@\B3$,=*N;$9$k!#(B
1.1       ohara     342:
                    343: \appendix
1.10    ! takayama  344: \section{$BIUO?(B}
1.1       ohara     345:
1.10    ! takayama  346: GMP $B$K$*$1$k(B ``$B@0?t7?(B'' {\tt mpz\_t} $B$O$D$.$N$h$&$J(B
        !           347: $BFbItI=8=$r;}$D(B: \\
        !           348: $B$^$:(B  {\tt mpz\_t} $B7?$O(B
1.1       ohara     349: \begin{verbatim}
                    350: typedef struct __mpz_struct mpz_t[1];
                    351: \end{verbatim}
1.10    ! takayama  352: $B$H(B typedef $B$5$l$F$*$j(B,
        !           353: {\tt mpz\_t} $B7?$NJQ?t$O(B($B4X?t$N2>0z?t$G$J$$8B$j(B)$BG[Ns$N(B
        !           354: $B07$$$G$"$k(B. $B$^$?(B,
1.1       ohara     355: \begin{verbatim}
                    356: typedef unsigned long int mp_limb_t;
                    357: \end{verbatim}
1.10    ! takayama  358: $B$H@k8@$5$l$F$$$k>l9g$K$O(B,
        !           359: $BJQ?t(B {\tt mpz\_t x} $B$N(B {\tt x->\_mp\_d} $B$,(B unsigned long int $B$N(B
        !           360: $BG[Ns$G$"$j(B, $B%G!<%?$N<BBN$G$"$k(B.
        !           361: $B$3$l$O@0?t$N:G2<0L(B4$B%P%$%H$,G[Ns$N@hF,$K$/$k(B.
        !           362: $B$D$^$jA4BN$H$7$F$O(B``$B%j%H%k%(%s%G%#%"%s$C$]$$(B''$B$,(B,
        !           363: $B3F(B unsigned long int $B$O%^%7%s$N%M%$%F%#%V$J(B integer $B$G$"$k(B.
        !           364: $B$D$^$j(B, GMP $B$NFbItI=8=$O%^%7%s0MB8$H$J$C$F$$$k(B.
1.1       ohara     365:
                    366: \begin{thebibliography}{99}
                    367: \bibitem{Openxxx-1998}
1.10    ! takayama  368: $BLnO$@59T(B, $B9b;3?.5#(B.
        !           369: {Open XM $B$N@_7W$H<BAu(B --- Open message eXchange protocol for Mathematics},
1.8       ohara     370: November 22, 1999, Revised March 4, 2005.
1.1       ohara     371: \bibitem{Ohara-Takayama-Noro-1999}
1.10    ! takayama  372: $B>.868yG$(B, $B9b;3?.5#(B, $BLnO$@59T(B.
        !           373: {Open asir $BF~Lg(B}, 1999, $B?t<0=hM}(B, Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG $B=PHG(B, Tokyo).
1.1       ohara     374: \bibitem{Wolfram-1992}
1.10    ! takayama  375: $B%&%k%U%i%`(B.
        !           376: {Mathematica ($BF|K\8lHG(B)},
        !           377: $B%"%8%=%s%&%(%9%l%$(B, 1992.
1.1       ohara     378: \bibitem{Wolfram-1996}
                    379: Stephen Wolfram.
                    380: {The Mathematica Book}, Third edition,
                    381: Wolfram Media/Cambridge University Press, 1996.
                    382: \bibitem{miyachi-1998}
1.10    ! takayama  383: $B5\CONO(B.
        !           384: {Mathematica $B$K$h$k%M%C%H%o!<%/%W%m%0%i%_%s%0(B},
        !           385: $B4dGH%3%s%T%e!<%?%5%$%(%s%9(B,
        !           386: $B4dGH=qE9(B, 1998.
1.8       ohara     387: \bibitem{MathSource-Google1}
                    388: Todd Gayley.
                    389: [mg17015] in MathArchive,
                    390: 1999 April.
                    391: \bibitem{MathSource-Google2}
1.10    ! takayama  392: $B@N$N(B MathLink $B$K$"$C$?(B MLSignal $B$N2r@b(B.
        !           393: ($B0JA0!"(BGoogle $B$N%-%c%C%7%e$K$"$C$?$,!"$b$&$J$$(B)
1.8       ohara     394: \bibitem{Math-Output1}
1.10    ! takayama  395: mathlink.h, libMLa $B$N%7%s%\%kI=(B, mprep $B$N@8@.$9$k%=!<%9(B.
1.1       ohara     396: \end{thebibliography}
                    397:
                    398: \end{document}

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