Annotation of OpenXM/doc/ascm2001/heterotic-network.tex, Revision 1.1
1.1 ! noro 1: % $OpenXM$
! 2: \section{Applications}
! 3:
! 4: \subsection{Heterogeneous Servers}
! 5:
! 6: \def\pd#1{ \partial_{#1} }
! 7:
! 8: By using OpenXM, we can treat OpenXM servers essentially
! 9: like a subroutine.
! 10: Since OpenXM provides a universal stack machine which does not
! 11: depend each servers,
! 12: it is relatively easy to install new servers.
! 13: We can build a new computer math system by assembling
! 14: different OpenXM servers.
! 15: It is similar to building a toy house by LEGO blocks.
! 16:
! 17: We will see two examples of custom-made systems
! 18: built by OpenXM servers.
! 19:
! 20: \subsubsection{Computation of annihilating ideals by kan/sm1 and ox\_asir}
! 21:
! 22: Let $D = {\bf Q} \langle x_1, \ldots, x_n , \pd{1}, \ldots, \pd{n} \rangle$
! 23: be the ring of differential operators.
! 24: For a given polynomial
! 25: $ f \in {\bf Q}[x_1, \ldots, x_n] $,
! 26: the annihilating ideal of $f^{-1}$ is defined as
! 27: $$ {\rm Ann}\, f^{-1} = \{ \ell \in D \,|\,
! 28: \ell \bullet f^{-1} = 0 \}.
! 29: $$
! 30: Here, $\bullet$ denotes the action of $D$ to functions.
! 31: The annihilating ideal can be regarded as the maximal differential
! 32: equations for the function $f^{-1}$.
! 33: An algorithm to determine generators of the annihilating ideal
! 34: was given by Oaku (see, e.g., \cite[5.3]{sst-book}).
! 35: His algorithm reduces the problem to computations of Gr\"obner bases
! 36: in $D$ and to find the minimal integral root of a polynomial.
! 37: This algorithm (the function {\tt annfs}) is implemented by
! 38: kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and
! 39: {\tt ox\_asir}, to factorize polynomials to find the integral
! 40: roots.
! 41: These two OpenXM compliant systems are integrated by
! 42: the OpenXM protocol.
! 43:
! 44: For example, the following is a sm1 session to find the annihilating
! 45: ideal for $f = x^3 - y^2 z^2$.
! 46: \begin{verbatim}
! 47: sm1>[(x^3-y^2 z^2) (x,y,z)] annfs ::
! 48: Starting ox_asir server.
! 49: Byte order for control process is network byte order.
! 50: Byte order for engine process is network byte order.
! 51: [[-y*Dy+z*Dz, 2*x*Dx+3*y*Dy+6, -2*y*z^2*Dx-3*x^2*Dy,
! 52: -2*y^2*z*Dx-3*x^2*Dz, -2*z^3*Dx*Dz-3*x^2*Dy^2-2*z^2*Dx],
! 53: [-1,-139968*s^7-1119744*s^6-3802464*s^5-7107264*s^4
! 54: -7898796*s^3-5220720*s^2-1900500*s-294000]]
! 55: \end{verbatim}
! 56: The last polynomial is factored as
! 57: $-12(s+1)(3s+5)(3s+4)(6s+5)(6s+7)$
! 58: and the minimal integral root is $-1$
! 59: as shown in the output.
! 60:
! 61: Similarly,
! 62: an algorithm to stratify singularity
! 63: \cite{oaku-advance}
! 64: is implemented by
! 65: kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and
! 66: {\tt ox\_asir}, for primary ideal decompositions.
! 67:
! 68: \subsubsection{A Course on Solving Algebraic Equations}
! 69:
! 70: Risa/Asir \cite{asir} is a general computer algebra system
! 71: which can be used for Gr\"obner basis computations for zero dimensional ideal
! 72: with ${\bf Q}$ coefficients.
! 73: However, it is not good at graphical presentations and
! 74: numerical methods.
! 75: We integrated Risa/Asir, ox\_phc (based on PHC pack by Verschelde \cite{phc}
! 76: for the polyhedral homotopy method) and
! 77: ox\_gnuplot (GNUPLOT) servers
! 78: to teach a course on solving algebraic equations.
! 79: This course was presented with the text book \cite{CLO},
! 80: which discusses
! 81: on the Gr\"obner basis method and the polyhedral homotopy method
! 82: to solve systems of algebraic equations.
! 83: We taught the course
! 84: with a unified environment
! 85: controlled by the Asir user language, which is similar to C.
! 86: The following is an Asir session to solve algebraic equations by calling
! 87: the PHC pack (Figure \ref{katsura} is the output of {\tt [292]}):
! 88: \begin{verbatim}
! 89: [287] phc(katsura(7));
! 90: The detailed output is in the file tmp.output.*
! 91: The answer is in the variable Phc.
! 92: 0
! 93: [290] B=map(first,Phc)$
! 94: [291] gnuplot_plotDots([],0)$
! 95: [292] gnuplot_plotDots(B,0)$
! 96: \end{verbatim}
! 97:
! 98: \begin{figure}[htbp]
! 99: \epsfxsize=8.5cm
! 100: \epsffile{katsura7.ps}
! 101: \caption{The first components of the solutions to the system of algebraic equations Katsura 7.}
! 102: \label{katsura}
! 103: \end{figure}
! 104:
! 105:
! 106:
! 107:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>