[BACK]Return to heterotic-network.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / ascm2001p

Annotation of OpenXM/doc/ascm2001p/heterotic-network.tex, Revision 1.5

1.5     ! takayama    1: % $OpenXM: OpenXM/doc/ascm2001p/heterotic-network.tex,v 1.4 2001/06/20 05:42:47 takayama Exp $
1.1       noro        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
1.4       takayama   11: depend on each server,
1.1       noro       12: it is relatively easy to install new servers.
1.5     ! takayama   13: We can build a new mathematical software system by assembling
1.1       noro       14: different OpenXM servers.
1.2       takayama   15: OpenXM servers currently provide 1077 functions
                     16: \cite{openxm-1077}.
                     17: We can use these as building blocks for a new system.
1.1       noro       18:
1.4       takayama   19: %We present an example of a custom-made system
                     20: %built by OpenXM servers.
1.1       noro       21:
1.2       takayama   22: %\subsubsection{Computation of annihilating ideals by kan/sm1 and ox\_asir}
                     23: %
                     24: %Let $D = {\bf Q} \langle x_1, \ldots, x_n , \pd{1}, \ldots, \pd{n} \rangle$
                     25: %be the ring of differential operators.
                     26: %For a given polynomial
                     27: %$ f \in {\bf Q}[x_1, \ldots, x_n] $,
                     28: %the annihilating ideal of $f^{-1}$ is defined as
                     29: %$$ {\rm Ann}\, f^{-1} = \{ \ell \in D \,|\,
                     30: %  \ell \bullet f^{-1} = 0 \}.
                     31: %$$
                     32: %Here, $\bullet$ denotes the action of $D$ to functions.
                     33: %The annihilating ideal can be regarded as the maximal differential
                     34: %equations for the function $f^{-1}$.
                     35: %An algorithm to determine generators of the annihilating ideal
                     36: %was given by Oaku (see, e.g., \cite[5.3]{sst-book}).
                     37: %His algorithm reduces the problem to computations of Gr\"obner bases
                     38: %in $D$ and to find the minimal integral root of a polynomial.
                     39: %This algorithm (the function {\tt annfs}) is implemented by
                     40: %kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and
                     41: %{\tt ox\_asir}, to factorize polynomials to find the integral
                     42: %roots.
                     43: %These two OpenXM compliant systems are integrated by
                     44: %the OpenXM protocol.
1.1       noro       45:
                     46: %For example, the following is a sm1 session to find the annihilating
                     47: %ideal for $f = x^3 - y^2 z^2$.
                     48: %\begin{verbatim}
                     49: %sm1>[(x^3-y^2 z^2) (x,y,z)] annfs ::
                     50: %Starting ox_asir server.
                     51: %Byte order for control process is network byte order.
                     52: %Byte order for engine process is network byte order.
                     53: %[[-y*Dy+z*Dz, 2*x*Dx+3*y*Dy+6, -2*y*z^2*Dx-3*x^2*Dy,
                     54: %-2*y^2*z*Dx-3*x^2*Dz, -2*z^3*Dx*Dz-3*x^2*Dy^2-2*z^2*Dx],
                     55: % [-1,-139968*s^7-1119744*s^6-3802464*s^5-7107264*s^4
                     56: %     -7898796*s^3-5220720*s^2-1900500*s-294000]]
                     57: %\end{verbatim}
                     58: %The last polynomial is factored as
                     59: %$-12(s+1)(3s+5)(3s+4)(6s+5)(6s+7)$
                     60: %and the minimal integral root is $-1$
                     61: %as shown in the output.
                     62: %
                     63: %Similarly,
                     64: %an algorithm to stratify singularity
                     65: %\cite{oaku-advance}
                     66: %is implemented by
                     67: %kan/sm1 \cite{kan}, for Gr\"obner basis computation in $D$, and
                     68: %{\tt ox\_asir}, for primary ideal decompositions.
                     69:
                     70: %\subsubsection{A Course on Solving Algebraic Equations}
                     71: %
                     72: %Risa/Asir \cite{asir} is a general computer algebra system
                     73: %which can be used for Gr\"obner basis computations for zero dimensional ideal
                     74: %with ${\bf Q}$ coefficients.
                     75: %However, it is not good at graphical presentations and
                     76: %numerical methods.
                     77: %We integrated Risa/Asir, ox\_phc (based on PHC pack by Verschelde \cite{phc}
                     78: %for the polyhedral homotopy method) and
                     79: %ox\_gnuplot (GNUPLOT) servers
                     80: %to teach a course on solving algebraic equations.
                     81: %This course was presented with the text book \cite{CLO},
                     82: %which discusses
                     83: %on the Gr\"obner basis method and the polyhedral homotopy method
                     84: %to solve systems of algebraic equations.
                     85: %We taught the course
                     86: %with a unified environment
                     87: %controlled by the Asir user language, which is similar to C.
                     88: %The following is an Asir session to solve algebraic equations by calling
                     89: %the PHC pack (Figure \ref{katsura} is the output of {\tt [292]}):
                     90: %\begin{verbatim}
                     91: %[287] phc(katsura(7));
                     92: %The detailed output is in the file tmp.output.*
                     93: %The answer is in the variable Phc.
                     94: %0
                     95: %[290] B=map(first,Phc)$
                     96: %[291] gnuplot_plotDots([],0)$
                     97: %[292] gnuplot_plotDots(B,0)$
                     98: %\end{verbatim}
                     99: %
                    100: %\begin{figure}[htbp]
                    101: %\epsfxsize=8.5cm
                    102: %\epsffile{katsura7.ps}
                    103: %\caption{The first components of the solutions to the system of algebraic equations Katsura 7.}
                    104: %\label{katsura}
                    105: %\end{figure}
                    106:
1.4       takayama  107: Asir-contrib/Hypergeometric package is an
                    108: example of a custom-made system built by OpenXM servers.
1.1       noro      109: GKZ hypergeometric system is a system of linear partial differential
                    110: equations associated to $A=(a_{ij})$
                    111: (an integer $d\times n$-matrix of rank $d$)
                    112: and $\beta \in {\bf C}^d$.
                    113: The book by Saito, Sturmfels and Takayama \cite{sst-book}
                    114: discusses algorithmic methods to construct series solutions of the GKZ
                    115: system.
                    116: The current Asir-contrib-HG package is built in order to implement
                    117: these algorithms.
                    118: What we need for the implementation are mainly
                    119: (1) Gr\"obner basis computation both in the ring of polynomials
                    120: and in the ring of differential operators,
1.2       takayama  121: (2) enumeration of all the Gr\"obner bases of toric ideals,
                    122: and
                    123: (3) primary ideal decomposition.
                    124: Asir and kan/sm1 provide functions for (1),
                    125: {\tt TiGERS} provides a function for (2),
1.1       noro      126: and
1.2       takayama  127: Asir provides a function for (3).
1.4       takayama  128: These software systems communicate with each other
                    129: by the OpenXM-RFC 100 protocol
1.2       takayama  130: and form a unified package for GKZ hypergeometric systems.
1.4       takayama  131: See the chapter of {\tt dsolv} of Asir Contrib User's manual \cite{openxm-web}
1.3       takayama  132: for details.
1.1       noro      133:
                    134: %Let us see an example how to construct series solution of a GKZ hypergeometric
                    135: %system.
                    136: %The function
                    137: %{\tt dsolv\_starting\_term} finds the leading terms of series solutions
                    138: %to a given direction.
                    139: %\begin{enumerate}
                    140: %\item Generate the GKZ hypergeometric system associated to
                    141: %                    $\pmatrix{ 1&1&1&1&1 \cr
                    142: %                              1&1&0&-1&0 \cr
                    143: %                              0&1&1&-1&0 \cr}$
                    144: %by the function {\tt sm1\_gkz}.
                    145: %\begin{verbatim}
                    146: %[1076] F = sm1_gkz(
                    147: %      [ [[1,1,1,1,1],
                    148: %         [1,1,0,-1,0],
                    149: %         [0,1,1,-1,0]], [1,0,0]]);
                    150: %[[x5*dx5+x4*dx4+x3*dx3+x2*dx2+x1*dx1-1,
                    151: %  -x4*dx4+x2*dx2+x1*dx1,
                    152: %  -x4*dx4+x3*dx3+x2*dx2,
                    153: %  -dx2*dx5+dx1*dx3,dx5^2-dx2*dx4],
                    154: % [x1,x2,x3,x4,x5]]
                    155: %\end{verbatim}
                    156: %\item Find the leading terms of this system to the direction
                    157: %$(1,1,1,1,0)$.
                    158: %\begin{verbatim}
                    159: %[1077] A= dsolv_starting_term(F[0],F[1],
                    160: %                            [1,1,1,1,0])$
                    161: %Computing the initial ideal.
                    162: %Done.
                    163: %Computing a primary ideal decomposition.
                    164: %Primary ideal decomposition of
                    165: %the initial Frobenius ideal
                    166: %to the direction [1,1,1,1,0] is
                    167: %[[[x5+2*x4+x3-1,x5+3*x4-x2-1,
                    168: %   x5+2*x4+x1-1,3*x5^2+(8*x4-6)*x5-8*x4+3,
                    169: %   x5^2-2*x5-8*x4^2+1,x5^3-3*x5^2+3*x5-1],
                    170: % [x5-1,x4,x3,x2,x1]]]
                    171: %
                    172: %----------- root is [ 0 0 0 0 1 ]
                    173: %----------- dual system is
                    174: %[x5^2+(-3/4*x4-1/2*x3-1/4*x2-1/2*x1)*x5+1/8*x4^2
                    175: % +(1/4*x3+1/4*x1)*x4+1/4*x2*x3-1/8*x2^2+1/4*x1*x2,
                    176: % x4-2*x3+3*x2-2*x1,x5-x3+x2-x1,1]
                    177: %\end{verbatim}
                    178: %\item From the output, we can see that we have four possible
                    179: %leading terms.
                    180: %Factoring these leading terms, we get the following simpler expressions.
                    181: %The third entry
                    182: %{\tt [[1,1],[x5,1],[-log(x1)+log(x2)-log(x3)+log(x5),1]], }
                    183: %means that there exists a series solution which starts with
                    184: %\[
                    185: %x_5 (-\log x_1 + \log x_2 - \log x_3 + \log x_5) =
                    186: %   x_5 \log \frac{x_2 x_5}{x_1 x_3}
                    187: %\]
                    188: %\begin{verbatim}
                    189: %[1078] A[0];
                    190: %[[ 0 0 0 0 1 ]]
                    191: %[1079] map(fctr,A[1][0]);
                    192: %[[[1/8,1],[x5,1],[log(x2)+log(x4)-2*log(x5),1],
                    193: %   [2*log(x1)-log(x2)+2*log(x3)+log(x4)-4*log(x5)
                    194: %    ,1]],
                    195: % [[1,1],[x5,1],
                    196: %   [-2*log(x1)+3*log(x2)-2*log(x3)+log(x4),1]],
                    197: % [[1,1],[x5,1],
                    198: %   [-log(x1)+log(x2)-log(x3)+log(x5),1]],
                    199: % [[1,1],[x5,1]]]
                    200: %\end{verbatim}
                    201: %\end{enumerate}
                    202:
                    203:
                    204:
                    205:
                    206:
                    207:
                    208:
                    209:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>