version 1.5, 2000/01/20 15:09:24 |
version 1.7, 2002/04/17 01:09:23 |
|
|
%#!platex |
%#!platex |
%% $OpenXM: OpenXM/src/ox_math/documents/ox_math.tex,v 1.4 1999/11/29 12:05:15 ohara Exp $ |
%% $OpenXM: OpenXM/src/ox_math/documents/ox_math.tex,v 1.6 2000/01/20 15:18:31 ohara Exp $ |
|
|
\documentclass{jarticle} |
\documentclass{jarticle} |
\title{Mathematica の Open XM 化について |
\title{Mathematica の Open XM 化について |
|
|
\begin{document} |
\begin{document} |
\maketitle |
\maketitle |
|
|
\section{Open Mathematicaの構成} |
\noindent |
|
{\bf |
|
注意 (2002.04.17): |
|
この文書は, 古いインタフェースをもとに記述してあるので, |
|
例はこのままでは動作しないので注意. |
|
math2ox.texi が最新のインタフェースのマニュアルである. |
|
一番の変更点は, {\tt OxStart} が pid (ox process id) を戻すようになり, |
|
{\tt OxParse} など多くの関数が, pid を引数として求めるようになったことで |
|
ある. |
|
たとえば, この文書の {\tt OxParse} を用いる例は, 次のように変更しないと |
|
いけない.} |
|
\begin{verbatim} |
|
Install["math2ox"] |
|
pid = OxStart["ox_sm1"] |
|
OxParse[pid,"(CMO_ZERO)"] |
|
OxPopCMO[pid] |
|
\end{verbatim} |
|
|
|
|
|
\section{我々が提供するもの} |
|
|
|
我々が提供するのは二つのプログラムとそのソースである。一つ目は |
|
{\tt ox\_math} プログラムであり、これは OpenXM サーバの一種である。二つ |
|
目は {\tt math2ox} であり、OpenXM クライアントである。 |
|
|
|
|
|
\section{Open Mathematica サーバの構成} |
|
|
Open Mathmatica サーバはOpen XM クライアントおよびmathematica カーネルと |
Open Mathmatica サーバはOpen XM クライアントおよびmathematica カーネルと |
通信する。Open Mathmatica サーバは起動直後にmathematica カーネルを起動し、 |
通信する。Open Mathmatica サーバは起動直後にmathematica カーネルを起動し、 |
mathematica カーネルと協調して動作する。mathematica カーネルとは |
mathematica カーネルと協調して動作する。mathematica カーネルとは |
Line 126 Mathematica から受け取ったデータは基本的に CMO\_STRING |
|
Line 152 Mathematica から受け取ったデータは基本的に CMO\_STRING |
|
まだ、実装していないが、多項式(CMO\_???\_PORINOMIAL)の扱いが難しい。 |
まだ、実装していないが、多項式(CMO\_???\_PORINOMIAL)の扱いが難しい。 |
|
|
\section{個々のスタックマシン命令の実装} |
\section{個々のスタックマシン命令の実装} |
現在、実装しているのは |
|
|
現在、実装されているのは |
SM\_popCMO, SM\_popString, SM\_pops, SM\_executeFunction, |
SM\_popCMO, SM\_popString, SM\_pops, SM\_executeFunction, |
SM\_executeStringByLocalParser, SM\_mathcap, SM\_setMathcap(受け取るだけ |
SM\_executeStringByLocalParser, SM\_mathcap, SM\_setMathcap(受け取るだけ |
で何もしない)である。 |
で何もしない)である。 |
|
|
\section{Mathematica を OX のクライアントに} |
\section{Mathematica を OX のクライアントに} |
OpenXM クライアントは Mathematica の外部プログラム({\tt math2ox}) |
|
の形で実現されている。 |
OpenXM クライアントは Mathematica の外部プログラム({\tt math2ox}) の形で |
すなわち、Mathematica -- math2ox の間は MathLink プロトコルで、 |
実現されている。すなわち、Mathematica と math2ox の間は MathLink プロト |
math2ox -- OpenXM サーバの間は OpenXM プロトコルで通信し、 |
コルで、math2ox と OpenXM サーバの間は OpenXM プロトコルで通信し、 |
math2ox が適切に情報を変換しながらやりとりする。 |
math2ox が適切に情報を変換しながらやりとりする。その意味で wrapper の一 |
その意味で wrapper の一種であるとも言える。 |
種であるとも言える。 |
|
|
利用するには、最初に |
利用するには、最初に |
\begin{verbatim} |
\begin{verbatim} |