| version 1.1, 2001/09/20 09:27:56 |
version 1.5, 2001/09/29 08:33:41 |
|
|
| %% $OpenXM$ |
%% $OpenXM: OpenXM/doc/ascm2001p/ohp.tex,v 1.4 2001/09/25 02:28:27 takayama Exp $ |
| \documentclass{slides} |
\documentclass{slides} |
| %%\documentclass[12pt]{article} |
%%\documentclass[12pt]{article} |
| \usepackage{color} |
\usepackage{color} |
|
|
| {\color{green} Design and Implementation of OpenXM-RFC 100 and 101} |
{\color{green} Design and Implementation of OpenXM-RFC 100 and 101} |
| |
|
| \noindent |
\noindent |
| M.Maekawa, M.Noro, K.Ohara, N.Takayama, Y.Tamura \\ |
M.Maekawa ($BA0(B $B@n(B $B!!(B $B>-(B $B=((B), \\ M.Noro ($BLn(B $BO$(B $B!!(B $B@5(B $B9T(B), \\ |
| \htmladdnormallink{http://www.openxm.org}{http://www.openxm.org} |
K.Ohara ($B>.(B $B86(B $B!!(B $B8y(B $BG$(B), \\ N.Takayama ($B9b(B $B;3(B $B!!(B $B?.(B $B5#(B), \\ |
| |
Y.Tamura ($BED(B $BB<(B $B!!(B $B63(B $B;N(B)\\ |
| |
\htmladdnormallink{{\color{red}http://www.openxm.org}}{{\color{red}http://www.openxm.org}} |
| |
|
| |
|
| \newpage |
\newpage |
| \noindent |
\noindent |
| {\color{red} 1. Architecture} \\ |
{\color{red} 1. Architecture} \\ |
| Line 21 Two main applications of the project \\ |
|
| Line 24 Two main applications of the project \\ |
|
| \begin{enumerate} |
\begin{enumerate} |
| \item Providing an environment for interactive distributed computation. |
\item Providing an environment for interactive distributed computation. |
| {\color{blue} Risa/Asir} |
{\color{blue} Risa/Asir} |
| |
(computer algebra system for general purpose, |
| |
open source (c) Fujitsu, \\ |
| |
http://www.openxm.org, \\ |
| |
http://risa.cs.ehime-u.ac.jp, \\ |
| |
http://www.math.kobe-u.ac.jp/Asir/asir.html) |
| \item e-Bateman project |
\item e-Bateman project |
| (Electronic version of higher transcendental functions of the 21st century)\\ |
(Electronic version of higher transcendental functions of the 21st century)\\ |
| 1st step: Generate and verify hypergeometric function identities. |
1st step: Generate and verify hypergeometric function identities. |
| Line 36 OpenXM-RFC 100 \\ |
|
| Line 44 OpenXM-RFC 100 \\ |
|
| OpenXM {\color{red} stackmachine}. |
OpenXM {\color{red} stackmachine}. |
| \item execute\_string |
\item execute\_string |
| \begin{verbatim} |
\begin{verbatim} |
| P = ox_launch(0,"ox_asir"); |
Pid = ox_launch(0,"ox_asir"); |
| ox_execute_string(Pid," poly_factor(x^10-1);"); |
ox_execute_string(Pid," poly_factor(x^10-1);"); |
| \end{verbatim} |
\end{verbatim} |
| \end{enumerate} |
\end{enumerate} |
|
|
| \end{picture} |
\end{picture} |
| \newpage |
\newpage |
| |
|
| \noindent{\color{red} 4. Easy to try and evaluate distributed algorithms} \\ |
\noindent |
| |
{\color{red} 4. e-Bateman project} (Electronic mathematical formula book)\\ |
| |
First Step: \\ |
| |
Gauss Hypergeometric function: |
| |
$$ {\color{blue} F(a,b,c;x)} = \sum_{n=1}^\infty |
| |
\frac{(a)_n (b)_n}{(1)_n (c)_n} x^n |
| |
$$ |
| |
where |
| |
$$ (a)_n = a(a+1) \cdots (a+n-1). $$ |
| |
{\color{green} |
| |
$$ \log (1+x) = x F(1,1,2;-x) $$ |
| |
$$ \arcsin x = x F(1/2,1/2,3/2;x^2) $$ |
| |
} |
| |
|
| \noindent |
\noindent |
| |
Appell's $F_1$: |
| |
$$ {\color{blue} F_1(a,b,b',c;x,y)} = \sum_{m,n=1}^\infty |
| |
\frac{(a)_{m+n} (b)_m (b')_n}{(c)_{m+n}(1)_m (1)_n} x^m y^n. |
| |
$$ |
| |
\newpage |
| |
Mathematical formula book, e.g., |
| |
Erdelyi: {\color{green} Higher Transcendental Functions} \\ |
| |
{\color{blue} Formula (type A)}\\ |
| |
The solution space of the ordinary differential equation |
| |
$$ x(1-x) \frac{d^2f}{dx^2} -\left( c-(a+b+1)x \right) \frac{df}{dx} - a b f = 0$$ |
| |
is spanned by |
| |
$$ F(a,b,c;x) = {\color{red}1} + O(x), \ |
| |
x^{1-c} F(a,b,c;x) = {\color{red}x^{1-c}}+O(x^{2-c}))$$ |
| |
|
| |
when $c \not\in {\bf Z}$. \\ |
| |
{\color{blue} Formula (type B)}\\ |
| |
\begin{eqnarray*} |
| |
&\ & F(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z) \\ |
| |
&+& \frac{z}{e_2}\, F'(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z) \\ |
| |
&-& \frac{z}{e_2}\, F(a_1, a_2, b_2;z) \, F'(-a_1,-a_2,2-b_2;z) \\ |
| |
&-& \frac{a_1+a_2-e_2}{a_1 a_2 e_2}z^2\, |
| |
F'(a_1, a_2, b_2;z)\,F'(-a_1,-a_2,2-b_2;z) \\ |
| |
&=& 1 |
| |
\end{eqnarray*} |
| |
where $e_2 = b_2-1$ and $a_1, a_2, e_2, e_2-a_2 \not\in {\bf Z}$. \\ |
| |
(generalization of $\sin^2 x + \cos^2 x =1$.) |
| |
|
| |
\noindent |
| |
Project in progress: \\ |
| |
We are trying to generate or verify type A formulas and type B formulas |
| |
for {\color{blue} GKZ hypergeometric systems}. |
| |
|
| |
\begin{tabular}{|c|c|c|} |
| |
\hline |
| |
& type A & type B \\ \hline |
| |
Algorithm & {\color{red} OK} (SST book) & in progress \\ \hline |
| |
Implementation & partially done & NO \\ \hline |
| |
\end{tabular} |
| |
|
| |
\noindent |
| |
Our ox servers |
| |
{\tt ox\_asir}, {\tt ox\_sm1}, {\tt ox\_tigers}, {\tt ox\_gnuplot}, |
| |
{\tt ox\_mathematica}, {\tt OpenMathproxy} (JavaClasses), {\tt ox\_m2} |
| |
are used to generate, verify and present formulas of type A |
| |
for GKZ hypergeometric systems. |
| |
|
| |
\newpage |
| |
|
| |
\noindent{\color{red} 5. Easy to try and evaluate distributed algorithms} \\ |
| |
|
| |
\noindent |
| |
{\color{green} Example 1} \\ |
| Theorem (Cantor-Zassenhaus) \\ |
Theorem (Cantor-Zassenhaus) \\ |
| Let $f_1$ and $f_2$ be degree $d$ polynomials in $F_q[x]$. |
Let $f_1$ and $f_2$ be degree $d$ irreducible polynomials in $F_q[x]$. |
| For a random degree $2d-1$ polynomial $g \in F_q[x]$, |
For a random degree $2d-1$ polynomial $g \in F_q[x]$, |
| the chance of |
the chance of |
| $$ GCD(g^{(q^d-1)/2}-1,f_1 f_2) = f_1 \,\mbox{or}\, f_2 $$ |
$$ GCD(g^{(q^d-1)/2}-1,f_1 f_2) = f_1 \,\mbox{or}\, f_2 $$ |
| Line 142 $$ \frac{1}{2}-\frac{1}{(2q)^d}. $$ |
|
| Line 214 $$ \frac{1}{2}-\frac{1}{(2q)^d}. $$ |
|
| \begin{picture}(20,14)(0,0) |
\begin{picture}(20,14)(0,0) |
| \put(7,12){\framebox(4,1.5){client}} |
\put(7,12){\framebox(4,1.5){client}} |
| \put(2,6){\framebox(4,1.5){server}} |
\put(2,6){\framebox(4,1.5){server}} |
| \put(7,6){\framebox(4,1.5){server}} |
%%\put(7,6){\framebox(4,1.5){server}} |
| \put(12,6){\framebox(4,1.5){server}} |
\put(12,6){\framebox(4,1.5){server}} |
| \put(0,0){\framebox(4,1.5){server}} |
\put(0,0){\framebox(4,1.5){server}} |
| \put(5,0){\framebox(4,1.5){server}} |
\put(5,0){\framebox(4,1.5){server}} |
| \put(13.5,0){\framebox(4,1.5){server}} |
\put(13.5,0){\framebox(4,1.5){server}} |
| |
|
| \put(9,12){\vector(-1,-1){4.3}} |
\put(9,12){\vector(-1,-1){4.3}} |
| \put(9,12){\vector(0,-1){4.3}} |
%%\put(9,12){\vector(0,-1){4.3}} |
| \put(9,12){\vector(1,-1){4.3}} |
\put(9,12){\vector(1,-1){4.3}} |
| \put(4,6){\vector(-1,-2){2.2}} |
\put(4,6){\vector(-1,-2){2.2}} |
| \put(4,6){\vector(1,-2){2.2}} |
\put(4,6){\vector(1,-2){2.2}} |
| Line 195 def c_z(F,E,Level) |
|
| Line 267 def c_z(F,E,Level) |
|
| } |
} |
| \end{verbatim} |
\end{verbatim} |
| \newpage |
\newpage |
| \noindent |
|
| {\color{red} 5. e-Bateman project} \\ |
|
| First Step: \\ |
|
| Gauss Hypergeometric function: |
|
| $$ {\color{blue} F(a,b,c;x)} = \sum_{n=1}^\infty |
|
| \frac{(a)_n (b)_n}{(1)_n}{(c)_n} x^n |
|
| $$ |
|
| where |
|
| $$ (a)_n = a(a+1) \cdots (a+n-1). $$ |
|
| $$ F(?,?,?;x) = \log (1+x). $$ |
|
| |
|
| \noindent |
\epsfxsize=17cm |
| Appell's $F_1$: |
\epsffile{cz.ps} |
| $$ {\color{blue} F_1(a,b,b',c;x,y)} = \sum_{m,n=1}^\infty |
|
| \frac{(a)_{m+n} (b)_m (b')_n}{(c)_{m+n}(1)_m (1)_n} x^m y^n. |
|
| $$ |
|
| \newpage |
|
| Mathematical formula book, e.g., |
|
| Erdelyi: {\color{green} Higher Transcendental Functions} \\ |
|
| {\color{blue} Formula (type A)}\\ |
|
| The solution space of the ordinary differential equation |
|
| $$ x(1-x) \frac{d^2f}{dx^2} -\left( c-(a+b+1)x \right) \frac{df}{dx} - a b f = 0$$ |
|
| is spanned by |
|
| $$ F(a,b,c;x) , \ x^{1-c} F(a,b,c;x) $$ |
|
| when $c \not\in {\bf Z}$. \\ |
|
| {\color{blue} Formula (type B)}\\ |
|
| \begin{eqnarray*} |
|
| &\ & F(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z) \\ |
|
| &+& \frac{z}{e_2}\, F'(a_1, a_2, b_2;z) \, F(-a_1,-a_2,2-b_2;z) \\ |
|
| &-& \frac{z}{e_2}\, F(a_1, a_2, b_2;z) \, F'(-a_1,-a_2,2-b_2;z) \\ |
|
| &-& \frac{a_1+a_2-e_2}{a_1 a_2 e_2}z^2\, |
|
| F'(a_1, a_2, b_2;z)\,F'(-a_1,-a_2,2-b_2;z) \\ |
|
| &=& 1 |
|
| \end{eqnarray*} |
|
| where $e_2 = b_2-1$ and $a_1, a_2, e_2, e_2-a_2 \not\in {\bf Z}$. \\ |
|
| (generalization of $\sin^2 x + \cos^2 x =1$.) |
|
| |
|
| \noindent |
\noindent |
| Project in progress: \\ |
{\color{blue} Performance of parallel CZ algorithm} \\ |
| We are trying to generate or verify type A formulas and type B formulas |
$d=1$, $k=200$ : product of $200$ linear forms. \\ |
| for {\color{blue} GKZ hypergeometric systems}. |
$d=2$, $k=50$ : product of $50$ irreducible degree $2$ polynomials. \\ |
| |
|
| \begin{tabular}{|c|c|c|} |
\newpage |
| \hline |
{\color{green} Example 2} \\ |
| & type A & type B \\ \hline |
Shoup's algorithm to multiply polynomials. \\ |
| Algorithm & {\color{red} OK} (SST book) & in progress \\ \hline |
{\color{green} Example 3} \\ |
| Implementation & partially done & NO \\ \hline |
Competitive Gr\"obner basis computation. \\ |
| \end{tabular} |
\newpage |
| |
|
| \noindent |
\noindent |
| Our ox servers |
{\color{green} Example 3. Competitive Gr\"obner Basis Computation} |
| {\tt ox\_asir}, {\tt ox\_sm1}, {\tt ox\_tigers}, {\tt ox\_gnuplot}, |
\begin{verbatim} |
| {\tt ox\_mathematica}, {\tt OMproxy} {\tt ox\_m2} |
extern Proc1,Proc2$ |
| are used to generate, verify and present formulas of type A |
Proc1 = -1$ Proc2 = -1$ |
| for GKZ hypergeometric systems. |
/* G:set of polys; V:list of variables */ |
| |
/* Mod: the Ground field GF(Mod); O:type of order */ |
| |
def dgr(G,V,Mod,O) |
| |
{ |
| |
/* invoke servers if necessary */ |
| |
if ( Proc1 == -1 ) Proc1 = ox_launch(); |
| |
if ( Proc2 == -1 ) Proc2 = ox_launch(); |
| |
P = [Proc1,Proc2]; |
| |
map(ox_reset,P); /* reset servers */ |
| |
/* P0 executes Buchberger algorithm over GF(Mod) */ |
| |
ox_cmo_rpc(P[0],"dp_gr_mod_main",G,V,0,Mod,O); |
| |
/* P1 executes F4 algorithm over GF(Mod) */ |
| |
ox_cmo_rpc(P[1],"dp_f4_mod_main",G,V,Mod,O); |
| |
map(ox_push_cmd,P,262); /* 262 = OX_popCMO */ |
| |
F = ox_select(P); /* wait for data */ |
| |
/* F[0] is a server's id which is ready */ |
| |
R = ox_get(F[0]); |
| |
if ( F[0] == P[0] ) { Win = "Buchberger"; Lose = P[1]; } |
| |
else { Win = "F4"; Lose = P[0]; } |
| |
ox_reset(Lose); /* reset the loser */ |
| |
return [Win,R]; |
| |
} |
| |
\end{verbatim} |
| |
\newpage |
| |
|
| \end{document} |
\end{document} |
| |
|