Mathematica

We provide an OpenXM client math2ox written as an external module for Mathematica. The module math2ox communicates with Mathematica by MathLink and with any OpenXM server by the OpenXM protocol. By using the module math2ox, we can call OpenXM servers from Mathematica; here is a demonstration of a computation of the de Rham cohomology groups of ${\bf C}^2 \setminus V(x^3-y^2)$ from Mathematica.

In[1]:= Install["math2ox"]
In[2]:= OxStart["../lib/sm1/bin/ox_sm1_forAsir"]
In[3]:= OxExecute[" [(x^3-y^2) (x,y)] deRham "]
In[4]:= OxPopString[]
Out[4]=  [ 1 , 1 , 0 ]  (* The dimension of 
                           cohomology groups *)

The math2ox adds the following functions to Mathematica.

OxStart[s_String]
OxStartInsecure[s_String]
OxExecuteString[s_String]
OxParse[s_String]
OxGet[]
OxPopCMO[]
OxPopString[]
OxClose[]
OxReset[]
Although the list of functions speaks itself, we add some explanations. The function OxPopCMO[] executes the same operation as ox_pop_cmo() in Risa/Asir; it pops data from the server stack. The OxGet[] receives an OX data message and returns its translation to an local object. The function OxParse[] helps debugging to connect Mathematica and ox servers. By using the function, one can send OX messages, written by the OX expression, to a server. OX expressions are Lisp-like expressions for OX messages and are defined in [12].



Nobuki Takayama 2017-03-30