version 1.1, 1999/12/23 10:25:08 |
version 1.4, 2000/01/15 01:33:32 |
|
|
% $OpenXM$ |
% $OpenXM: OpenXM/doc/issac2000/heterotic-network.tex,v 1.3 2000/01/03 04:27:52 takayama Exp $ |
|
|
|
\subsection{Heterogeneous Servers} |
|
|
|
\def\pd#1{ \partial_{#1} } |
|
|
|
By using OpenXM, we can treat OpenXM servers essentially |
|
like a subroutine. |
|
Since OpenXM provides a universal stackmachine which does not |
|
depend each servers, |
|
it is relatively easy to install new servers. |
|
We can build a new computer math system by assembling |
|
different OpenXM servers. |
|
It is similar to building a toy house by LEGO blocks. |
|
|
|
We will see two examples of special purpose systems |
|
built by OpenXM servers. |
|
|
|
\subsubsection{Computation of annihilating ideals by kan/sm1 and ox\_asir} |
|
|
|
Let $D = {\bf Q} \langle x_1, \ldots, x_n , \pd{1}, \ldots, \pd{n} \rangle$ |
|
be the ring of differential operators. |
|
For a given polynomial |
|
$ f \in {\bf Q}[x_1, \ldots, x_n] $, |
|
the annihilating ideal of $f^{-1}$ is defined as |
|
$$ {\rm Ann}\, f^{-1} = \{ \ell \in D \,|\, |
|
\ell \bullet f^{-1} = 0 \}. |
|
$$ |
|
Here, $\bullet$ denotes the action of $D$ to functions. |
|
The annihilating ideal can be regarded as the maximal differential |
|
equations for the function $f^{-1}$. |
|
An algorithm to determine generators of the annihilating ideal |
|
was given by Oaku (see, e.g., \cite[5.3]{sst-book}). |
|
His algorithm reduces the problem to computations of Gr\"obner bases |
|
in $D$ and to find the maximal integral root of a polynomial. |
|
This algorithm (the function {\tt annfs}) is implemented by |
|
kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and |
|
ox\_asir, to factorize polynomials to find the integral |
|
roots. |
|
These two OpenXM complient systems are integrated by |
|
OpenXM protocol. |
|
|
|
For example, the following is a sm1 session to find the annihilating |
|
ideal for $f = x^3 - y^2 z^2$. |
|
\begin{verbatim} |
|
sm1>[(x^3-y^2 z^2) (x,y,z)] annfs :: |
|
Starting ox_asir server. |
|
Byte order for control process is network byte order. |
|
Byte order for engine process is network byte order. |
|
[[-y*Dy+z*Dz, 2*x*Dx+3*y*Dy+6, -2*y*z^2*Dx-3*x^2*Dy, |
|
-2*y^2*z*Dx-3*x^2*Dz, -2*z^3*Dx*Dz-3*x^2*Dy^2-2*z^2*Dx], |
|
[-1,-139968*s^7-1119744*s^6-3802464*s^5-7107264*s^4 |
|
-7898796*s^3-5220720*s^2-1900500*s-294000]] |
|
\end{verbatim} |
|
The last polynomial is factored as |
|
$-12(s+1)(3s+5)(3s+4)(6s+5)(6s+7)$ |
|
and the minimal integral root is $-1$ |
|
as shown in the output. |
|
|
|
Similarly, |
|
an algorithm to stratify singularity |
|
\cite{oaku-advance} |
|
is implemented by |
|
kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and |
|
ox\_asir, for primary ideal decompositions. |
|
|
|
\subsubsection{A Course on Solving Algebraic Equations} |
|
|
|
Risa/asir \cite{asir} is a general computer algebra system |
|
which is good at Gr\"obner basis computations for zero dimensional ideal |
|
with ${\bf Q}$ coefficients. |
|
However, it is not good at graphical presentations and |
|
numerical methods. |
|
We integrated Risa/asir, ox\_phc (based on PHC pack by Verschelde \cite{phc} |
|
for the polyhedral homotopy method) and |
|
ox\_gnuplot (GNUPLOT) servers |
|
to teach a course on solving algebraic equations. |
|
This course was presented with the text book \cite{CLO} which discusses |
|
on the Gr\"obner basis method and the polyhedral homotopy method |
|
to solve systems of algebraic equations. |
|
Risa/asir has a user language like C and we could teach a course |
|
with a unified environment |
|
controlled by asir user language. |
|
The following is an asir session to solve algebraic equations by calling |
|
the PHC pack. |
|
\begin{verbatim} |
|
[257] phc([x^2+y^2-4,x*y-1]); |
|
The detailed output is in the file tmp.output.* |
|
The answer is in the variable Phc. |
|
0 |
|
[260] Phc ; |
|
[[[-0.517638,0],[-1.93185,0]], |
|
[[1.93185,0],[0.517638,0]], |
|
[[-1.93185,0],[-0.517638,0]], |
|
[[0.517638,0],[1.93185,0]]] |
|
[261] |
|
\end{verbatim} |
|
|
|
|
|
|