Annotation of OpenXM/doc/ascm2001p/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: \subsubsection{Asir-contrib-HG package to solve GKZ hypergeometric systems}
! 106:
! 107: GKZ hypergeometric system is a system of linear partial differential
! 108: equations associated to $A=(a_{ij})$
! 109: (an integer $d\times n$-matrix of rank $d$)
! 110: and $\beta \in {\bf C}^d$.
! 111: The book by Saito, Sturmfels and Takayama \cite{sst-book}
! 112: discusses algorithmic methods to construct series solutions of the GKZ
! 113: system.
! 114: The current Asir-contrib-HG package is built in order to implement
! 115: these algorithms.
! 116: What we need for the implementation are mainly
! 117: (1) Gr\"obner basis computation both in the ring of polynomials
! 118: and in the ring of differential operators,
! 119: and
! 120: (2) enumeration of all the Gr\"obner bases of toric ideals.
! 121: Asir and kan/sm1 provide functions for (1) and
! 122: {\tt TiGERS} provides a function for (2).
! 123: These components communicate each other by OpenXM-RFC 100 protocol.
! 124:
! 125: %Let us see an example how to construct series solution of a GKZ hypergeometric
! 126: %system.
! 127: %The function
! 128: %{\tt dsolv\_starting\_term} finds the leading terms of series solutions
! 129: %to a given direction.
! 130: %\begin{enumerate}
! 131: %\item Generate the GKZ hypergeometric system associated to
! 132: % $\pmatrix{ 1&1&1&1&1 \cr
! 133: % 1&1&0&-1&0 \cr
! 134: % 0&1&1&-1&0 \cr}$
! 135: %by the function {\tt sm1\_gkz}.
! 136: %\begin{verbatim}
! 137: %[1076] F = sm1_gkz(
! 138: % [ [[1,1,1,1,1],
! 139: % [1,1,0,-1,0],
! 140: % [0,1,1,-1,0]], [1,0,0]]);
! 141: %[[x5*dx5+x4*dx4+x3*dx3+x2*dx2+x1*dx1-1,
! 142: % -x4*dx4+x2*dx2+x1*dx1,
! 143: % -x4*dx4+x3*dx3+x2*dx2,
! 144: % -dx2*dx5+dx1*dx3,dx5^2-dx2*dx4],
! 145: % [x1,x2,x3,x4,x5]]
! 146: %\end{verbatim}
! 147: %\item Find the leading terms of this system to the direction
! 148: %$(1,1,1,1,0)$.
! 149: %\begin{verbatim}
! 150: %[1077] A= dsolv_starting_term(F[0],F[1],
! 151: % [1,1,1,1,0])$
! 152: %Computing the initial ideal.
! 153: %Done.
! 154: %Computing a primary ideal decomposition.
! 155: %Primary ideal decomposition of
! 156: %the initial Frobenius ideal
! 157: %to the direction [1,1,1,1,0] is
! 158: %[[[x5+2*x4+x3-1,x5+3*x4-x2-1,
! 159: % x5+2*x4+x1-1,3*x5^2+(8*x4-6)*x5-8*x4+3,
! 160: % x5^2-2*x5-8*x4^2+1,x5^3-3*x5^2+3*x5-1],
! 161: % [x5-1,x4,x3,x2,x1]]]
! 162: %
! 163: %----------- root is [ 0 0 0 0 1 ]
! 164: %----------- dual system is
! 165: %[x5^2+(-3/4*x4-1/2*x3-1/4*x2-1/2*x1)*x5+1/8*x4^2
! 166: % +(1/4*x3+1/4*x1)*x4+1/4*x2*x3-1/8*x2^2+1/4*x1*x2,
! 167: % x4-2*x3+3*x2-2*x1,x5-x3+x2-x1,1]
! 168: %\end{verbatim}
! 169: %\item From the output, we can see that we have four possible
! 170: %leading terms.
! 171: %Factoring these leading terms, we get the following simpler expressions.
! 172: %The third entry
! 173: %{\tt [[1,1],[x5,1],[-log(x1)+log(x2)-log(x3)+log(x5),1]], }
! 174: %means that there exists a series solution which starts with
! 175: %\[
! 176: %x_5 (-\log x_1 + \log x_2 - \log x_3 + \log x_5) =
! 177: % x_5 \log \frac{x_2 x_5}{x_1 x_3}
! 178: %\]
! 179: %\begin{verbatim}
! 180: %[1078] A[0];
! 181: %[[ 0 0 0 0 1 ]]
! 182: %[1079] map(fctr,A[1][0]);
! 183: %[[[1/8,1],[x5,1],[log(x2)+log(x4)-2*log(x5),1],
! 184: % [2*log(x1)-log(x2)+2*log(x3)+log(x4)-4*log(x5)
! 185: % ,1]],
! 186: % [[1,1],[x5,1],
! 187: % [-2*log(x1)+3*log(x2)-2*log(x3)+log(x4),1]],
! 188: % [[1,1],[x5,1],
! 189: % [-log(x1)+log(x2)-log(x3)+log(x5),1]],
! 190: % [[1,1],[x5,1]]]
! 191: %\end{verbatim}
! 192: %\end{enumerate}
! 193:
! 194:
! 195:
! 196:
! 197:
! 198:
! 199:
! 200:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>