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

Annotation of OpenXM/doc/ascm2001p/ohp.tex, Revision 1.1

1.1     ! takayama    1: %% $OpenXM$
        !             2: \documentclass{slides}
        !             3: %%\documentclass[12pt]{article}
        !             4: \usepackage{color}
        !             5: \usepackage{epsfig}
        !             6: \newcommand{\htmladdnormallink}[2]{#1}
        !             7: \begin{document}
        !             8: \noindent
        !             9: {\color{green} Design and Implementation of OpenXM-RFC 100 and 101}
        !            10:
        !            11: \noindent
        !            12: M.Maekawa, M.Noro, K.Ohara, N.Takayama, Y.Tamura \\
        !            13: \htmladdnormallink{http://www.openxm.org}{http://www.openxm.org}
        !            14:
        !            15: \newpage
        !            16: \noindent
        !            17: {\color{red} 1. Architecture} \\
        !            18: Integrating (existing) mathematical software systems.
        !            19:
        !            20: Two main applications of the project \\
        !            21: \begin{enumerate}
        !            22: \item Providing an environment for interactive distributed computation.
        !            23: {\color{blue} Risa/Asir}
        !            24: \item e-Bateman project
        !            25: (Electronic version of higher transcendental functions of the 21st century)\\
        !            26: 1st step: Generate and verify hypergeometric function identities.
        !            27: \end{enumerate}
        !            28: \newpage
        !            29:
        !            30: \noindent
        !            31: OpenXM-RFC 100 \\
        !            32: {\color{green} Control}: \\
        !            33: \begin{enumerate}
        !            34: \item Client-server model. Tree structure of processes.
        !            35: \item Wrap (existing) mathematical software systems by the
        !            36: OpenXM {\color{red} stackmachine}.
        !            37: \item execute\_string
        !            38: \begin{verbatim}
        !            39:   P = ox_launch(0,"ox_asir");
        !            40:   ox_execute_string(Pid," poly_factor(x^10-1);");
        !            41: \end{verbatim}
        !            42: \end{enumerate}
        !            43: \newpage
        !            44:
        !            45: \noindent
        !            46: {\color{green} Data}: \\
        !            47: \begin{tabular}{|c|c|}
        !            48: \hline
        !            49: {\color{red} TAG}& {\color{blue} BODY} \\
        !            50: \hline
        !            51: \end{tabular} \\
        !            52: Two layers: {\color{green} OX message} layer.
        !            53: Layer of Command, CMO, and other data encodings.
        !            54:
        !            55: \noindent
        !            56: {\color{blue} Example 1}: \\
        !            57: \begin{verbatim}
        !            58: P = ox_launch(0,"ox_sm1");
        !            59: ox_push_cmo(P,1);
        !            60: ox_push_cmo(P,1);
        !            61: ox_execute_string(P,"add");
        !            62: ox_pop_cmo(P);
        !            63: \end{verbatim}
        !            64:
        !            65: {\color{green} CMO} is an encoding method based on XML like OpenMath.
        !            66:
        !            67: \begin{tabular}{|c|c|c|}
        !            68: \hline
        !            69: {\tt OX\_DATA} & {\it CMO\_ZZ} & 1 \\
        !            70: \hline
        !            71: \end{tabular} \\
        !            72: \begin{tabular}{|c|c|c|}
        !            73: \hline
        !            74: {\tt OX\_DATA} & {\it CMO\_ZZ} & 1 \\
        !            75: \hline
        !            76: \end{tabular} \\
        !            77: \begin{tabular}{|c|c|c|}
        !            78: \hline
        !            79: {\tt OX\_DATA} & {\it CMO\_STRING} & add \\
        !            80: \hline
        !            81: \end{tabular} \\
        !            82: \begin{tabular}{|c|c|}
        !            83: \hline
        !            84: {\tt OX\_COMMAND} & {\it SM\_executeString} \\
        !            85: \hline
        !            86: \end{tabular} \\
        !            87: \begin{tabular}{|c|c|}
        !            88: \hline
        !            89: {\tt OX\_COMMAND} & {\it SM\_popCMO} \\
        !            90: \hline
        !            91: \end{tabular} \\
        !            92: \htmladdnormallink{http://www.openxm.org}{http://www.openxm.org}
        !            93: \newpage
        !            94:
        !            95: \noindent
        !            96: {\color{red} 2. Error Handling and Resetting} \\
        !            97: \begin{verbatim}
        !            98: P = ox_launch(0,"ox_asir");
        !            99: ox_rpc(P,"fctr",1.2*x^2-1.21);
        !           100: ox_dup_errors(P);
        !           101: ox_pop_cmo(P);
        !           102: \end{verbatim}
        !           103: {\color{green}
        !           104: \verb# [error([8,fctr: invalid argument])] #
        !           105: }\\
        !           106: {\color{blue}
        !           107: Servers say nothing unless is is asked.
        !           108: }
        !           109: \newpage
        !           110:
        !           111: \begin{verbatim}
        !           112: P=ox_launch(0,"ox_asir");
        !           113: ox_rpc(P,"fctr",x^1000-y^1000);
        !           114: ox_reset(P);
        !           115: \end{verbatim}
        !           116:
        !           117: \setlength{\unitlength}{1cm}
        !           118: \begin{picture}(20,7)(0,0)
        !           119: \thicklines
        !           120: \put(5,1.7){\line(1,0){7}}
        !           121: \put(5,4.7){\line(3,-1){7}}
        !           122: \put(12,1){\framebox(5,2.5){client}}
        !           123: \put(1,4){\framebox(4,1.5){\color{blue} controller}}
        !           124: \put(1,1){\framebox(4,1.5){\color{red} engine}}
        !           125: \thinlines
        !           126: \put(0,0.3){\framebox(6,6){}}
        !           127: \put(1.5,-0.7){server}
        !           128: \end{picture}
        !           129: \newpage
        !           130:
        !           131: \noindent{\color{red} 4. Easy to try and evaluate distributed algorithms} \\
        !           132:
        !           133: \noindent
        !           134: Theorem (Cantor-Zassenhaus) \\
        !           135: Let $f_1$ and $f_2$ be degree $d$ polynomials in $F_q[x]$.
        !           136: For a random degree $2d-1$ polynomial $g \in F_q[x]$,
        !           137: the chance of
        !           138: $$ GCD(g^{(q^d-1)/2}-1,f_1 f_2) = f_1 \,\mbox{or}\, f_2 $$
        !           139: is
        !           140: $$ \frac{1}{2}-\frac{1}{(2q)^d}. $$
        !           141:
        !           142: \begin{picture}(20,14)(0,0)
        !           143: \put(7,12){\framebox(4,1.5){client}}
        !           144: \put(2,6){\framebox(4,1.5){server}}
        !           145: \put(7,6){\framebox(4,1.5){server}}
        !           146: \put(12,6){\framebox(4,1.5){server}}
        !           147: \put(0,0){\framebox(4,1.5){server}}
        !           148: \put(5,0){\framebox(4,1.5){server}}
        !           149: \put(13.5,0){\framebox(4,1.5){server}}
        !           150:
        !           151: \put(9,12){\vector(-1,-1){4.3}}
        !           152: \put(9,12){\vector(0,-1){4.3}}
        !           153: \put(9,12){\vector(1,-1){4.3}}
        !           154: \put(4,6){\vector(-1,-2){2.2}}
        !           155: \put(4,6){\vector(1,-2){2.2}}
        !           156: \put(14,6){\vector(1,-3){1.4}}
        !           157: \end{picture}
        !           158:
        !           159: \begin{verbatim}
        !           160: /* factorization of F */
        !           161: /* E = degree of irreducible factors in F */
        !           162: def c_z(F,E,Level)
        !           163: {
        !           164:   V = var(F); N = deg(F,V);
        !           165:   if ( N == E ) return [F];
        !           166:   M = field_order_ff(); K = idiv(N,E); L = [F];
        !           167:   while ( 1 ) {
        !           168:     /* gererate a random polynomial */
        !           169:     W = monic_randpoly_ff(2*E,V);
        !           170:     /* compute a power of the random polynomial */
        !           171:     T = generic_pwrmod_ff(W,F,idiv(M^E-1,2));
        !           172:     if ( !(W = T-1) ) continue;
        !           173:     /* G = GCD(F,W^((M^E-1)/2)) mod F) */
        !           174:     G = ugcd(F,W);
        !           175:     if ( deg(G,V) && deg(G,V) < N ) {
        !           176:       /* G is a non-trivial factor of F */
        !           177:       if ( Level >= LevelMax ) {
        !           178:         /* everything is done on this server */
        !           179:         L1 = c_z(G,E,Level+1);
        !           180:         L2 = c_z(sdiv(F,G),E,Level+1);
        !           181:       } else {
        !           182:         /* launch a server if necessary */
        !           183:         if ( Proc1 < 0 ) Proc1 = ox_launch();
        !           184:         /* send a request with Level = Level+1 */
        !           185:         /* ox_c_z is a wrapper of c_z on the server */
        !           186:         ox_cmo_rpc(Proc1,"ox_c_z",lmptop(G),E,
        !           187:             setmod_ff(),Level+1);
        !           188:         /* the rest is done on this server */
        !           189:         L2 = c_z(sdiv(F,G),E,Level+1);
        !           190:         L1 = map(simp_ff,ox_pop_cmo(Proc1));
        !           191:       }
        !           192:       return append(L1,L2);
        !           193:     }
        !           194:   }
        !           195: }
        !           196: \end{verbatim}
        !           197: \newpage
        !           198: \noindent
        !           199: {\color{red} 5. e-Bateman project} \\
        !           200: First Step: \\
        !           201: Gauss Hypergeometric function:
        !           202: $$ {\color{blue} F(a,b,c;x)} = \sum_{n=1}^\infty
        !           203:   \frac{(a)_n (b)_n}{(1)_n}{(c)_n} x^n
        !           204: $$
        !           205: where
        !           206: $$ (a)_n = a(a+1) \cdots (a+n-1). $$
        !           207: $$ F(?,?,?;x) = \log (1+x). $$
        !           208:
        !           209: \noindent
        !           210: Appell's $F_1$:
        !           211: $$ {\color{blue} F_1(a,b,b',c;x,y)} = \sum_{m,n=1}^\infty
        !           212:   \frac{(a)_{m+n} (b)_m (b')_n}{(c)_{m+n}(1)_m (1)_n} x^m y^n.
        !           213: $$
        !           214: \newpage
        !           215: Mathematical formula book, e.g.,
        !           216: Erdelyi: {\color{green} Higher Transcendental Functions} \\
        !           217: {\color{blue} Formula (type A)}\\
        !           218: The solution space of the ordinary differential equation
        !           219: $$ x(1-x) \frac{d^2f}{dx^2} -\left( c-(a+b+1)x \right) \frac{df}{dx} - a b f = 0$$
        !           220: is spanned by
        !           221: $$ F(a,b,c;x) , \  x^{1-c} F(a,b,c;x) $$
        !           222: when $c \not\in {\bf Z}$. \\
        !           223: {\color{blue} Formula (type B)}\\
        !           224: \begin{eqnarray*}
        !           225: &\ & F(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z)  \\
        !           226: &+& \frac{z}{e_2}\, F'(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z)  \\
        !           227: &-& \frac{z}{e_2}\, F(a_1, a_2, b_2;z) \, F'(-a_1,-a_2,2-b_2;z)  \\
        !           228: &-& \frac{a_1+a_2-e_2}{a_1 a_2 e_2}z^2\,
        !           229:   F'(a_1, a_2, b_2;z)\,F'(-a_1,-a_2,2-b_2;z) \\
        !           230: &=& 1
        !           231: \end{eqnarray*}
        !           232: where $e_2 = b_2-1$ and $a_1, a_2, e_2, e_2-a_2 \not\in {\bf Z}$.  \\
        !           233: (generalization of $\sin^2 x + \cos^2 x =1$.)
        !           234:
        !           235: \noindent
        !           236: Project in progress: \\
        !           237: We are trying to generate or verify type A formulas and type B formulas
        !           238: for {\color{blue} GKZ hypergeometric systems}.
        !           239:
        !           240: \begin{tabular}{|c|c|c|}
        !           241: \hline
        !           242:   & type A & type B \\ \hline
        !           243: Algorithm &  {\color{red} OK} (SST book) &  in progress \\ \hline
        !           244: Implementation & partially done & NO \\ \hline
        !           245: \end{tabular}
        !           246:
        !           247: \noindent
        !           248: Our ox servers
        !           249: {\tt ox\_asir}, {\tt ox\_sm1}, {\tt ox\_tigers}, {\tt ox\_gnuplot},
        !           250: {\tt ox\_mathematica}, {\tt OMproxy} {\tt ox\_m2}
        !           251: are used to generate, verify and present formulas of type A
        !           252: for GKZ hypergeometric systems.
        !           253:
        !           254: \end{document}

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