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