=================================================================== RCS file: /home/cvs/OpenXM/doc/Papers/Attic/dagb-noro.tex,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -r1.7 -r1.8 --- OpenXM/doc/Papers/Attic/dagb-noro.tex 2001/10/10 06:32:10 1.7 +++ OpenXM/doc/Papers/Attic/dagb-noro.tex 2001/10/11 01:34:42 1.8 @@ -1,4 +1,4 @@ -% $OpenXM: OpenXM/doc/Papers/dagb-noro.tex,v 1.6 2001/10/09 11:44:43 noro Exp $ +% $OpenXM: OpenXM/doc/Papers/dagb-noro.tex,v 1.7 2001/10/10 06:32:10 noro Exp $ \setlength{\parskip}{10pt} \begin{slide}{} @@ -7,77 +7,46 @@ \end{center} \end{slide} +%\begin{slide}{} +%\fbox{Integration of mathematical software systems} +% +%\begin{itemize} +%\item Data integration +% +%\begin{itemize} +%\item OpenMath ({\tt http://www.openmath.org}) , MP [GRAY98] +%\end{itemize} +% +%Standards for representing mathematical objects +% +%\item Control integration +% +%\begin{itemize} +%\item MCP [WANG99], OMEI [LIAO01] +%\end{itemize} +% +%Protocols for remote subroutine calls or session management +% +%\item Combination of two integrations +% +%\begin{itemize} +%\item MathLink, OpenMath+MCP, MP+MCP +% +%and OpenXM ({\tt http://www.openxm.org}) +%\end{itemize} +% +%Both are necessary for practical implementation +% +%\end{itemize} +%\end{slide} \begin{slide}{} -\fbox{Integration of mathematical software systems} - -\begin{itemize} -\item Data integration - -\begin{itemize} -\item OpenMath ({\tt http://www.openmath.org}) , MP [GRAY98] -\end{itemize} - -Standards for representing mathematical objects - -\item Control integration - -\begin{itemize} -\item MCP [WANG99], OMEI [LIAO01] -\end{itemize} - -Protocols for remote subroutine calls or session management - -\item Combination of two integrations - -\begin{itemize} -\item MathLink, OpenMath+MCP, MP+MCP - -and OpenXM ({\tt http://www.openxm.org}) -\end{itemize} - -Both are necessary for practical implementation - -\end{itemize} -\end{slide} -\begin{slide}{} -\fbox{OpenXM (Open message eXchange protocol for Mathematics) } - -\begin{itemize} -\item An environment for parallel distributed computation - -Both for interactive, non-interactive environment - -\item Client-server architecture - -Client $\Leftarrow$ OX (OpenXM) message $\Rightarrow$ Server - -OX (OpenXM) message : command and data - -\item Data - -Encoding : CMO (Common Mathematical Object format) - -Serialized representation of mathematical object - ---- Main idea was borrowed from OpenMath -\item Command - -stack machine command --- server is a stackmachine - -+ server's own command sequences --- hybrid server -\end{itemize} -\end{slide} - -\begin{slide}{} \fbox{A computer algebra system Risa/Asir} ({\tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) \begin{itemize} -\item Traditional style software for polynomial computation +\item Software mainly for polynomial computation -No domain specification, automatic expansion - \item User language with C-like syntax C language without type declaration, with list processing @@ -88,9 +57,14 @@ C language without type declaration, with list process Whole source tree is available via CVS +The latest version : see {\tt http://www.openxm.org} + \item OpenXM interface \begin{itemize} +\item OpenXM + +An infrastructure for exchanging mathematical data \item Risa/Asir is a main client in OpenXM package. \item An OpenXM server {\tt ox\_asir} \item A library with OpenXM library interface {\tt libasir.a} @@ -102,65 +76,57 @@ Whole source tree is available via CVS \fbox{Goal of developing Risa/Asir} \begin{itemize} -\item Efficient implementation in specific area +\item Testing new algorithms \begin{itemize} -\item Polynomial factorization +\item Development started in Fujitsu labs -\item Groebner basis related computation - -Main target : coefficient swells in characteristic 0 cases - -Main tool : modular method +Polynomial factorization, Groebner basis related computation, +cryptosystems , quantifier elimination , $\ldots$ \end{itemize} -\item Front-end or server of a general purpose math software +\item To be a general purpose, open system -We do not persist in self-containedness +Since 1997, we have been developing OpenXM package +containing various servers and clients -\begin{itemize} +Risa/Asir is a component of OpenXM -\item contains PARI library ({\tt http://www.parigp-home.de}) from the very beginning +\item Environment for parallel and distributed computation -\item also acts as a main client of OpenXM package - -One can use various OpenXM servers - \end{itemize} - -\end{itemize} \end{slide} -\begin{slide}{} -\fbox{Capability for polynomial computation} +%\begin{slide}{} +%\fbox{Capability for polynomial computation} +% +%\begin{itemize} +%\item Fundamental polynomial arithmetics +% +%recursive representation and distributed representation +% +%\item Polynomial factorization +% +%\begin{itemize} +%\item Univariate : over {\bf Q}, algebraic number fields and finite fields +% +%\item Multivariate : over {\bf Q} +%\end{itemize} +% +%\item Groebner basis computation +% +%\begin{itemize} +%\item Buchberger and $F_4$ [FAUG99] algorithm +% +%\item Change of ordering/RUR [ROUI96] of 0-dimensional ideals +% +%\item Primary ideal decomposition +% +%\item Computation of $b$-function (in Weyl Algebra) +%\end{itemize} +%\end{itemize} +%\end{slide} -\begin{itemize} -\item Fundamental polynomial arithmetics - -recursive representation and distributed representation - -\item Polynomial factorization - -\begin{itemize} -\item Univariate : over {\bf Q}, algebraic number fields and finite fields - -\item Multivariate : over {\bf Q} -\end{itemize} - -\item Groebner basis computation - -\begin{itemize} -\item Buchberger and $F_4$ [FAUG99] algorithm - -\item Change of ordering/RUR [ROUI96] of 0-dimensional ideals - -\item Primary ideal decomposition - -\item Computation of $b$-function (in Weyl Algebra) -\end{itemize} -\end{itemize} -\end{slide} - \begin{slide}{} \fbox{History of development : Polynomial factorization} @@ -185,6 +151,8 @@ Intensive use of successive extension, non-squarefree Univariate factorization over large finite fields +Motivated by a reseach project in Fujitsu on cryptography + \item 2000-current Multivariate factorization over small finite fields (in progress) @@ -205,7 +173,7 @@ Trace lifting with homogenization Omitting GB check by compatible prime [NOYO99] -Modular change of ordering/RUR [NOYO99] +Modular change of ordering/RUR[ROUI96] [NOYO99] Primary ideal decomposition [SHYO96] @@ -216,51 +184,28 @@ Solved {\it McKay} system for the first time \item 1998-2000 -Test implementation of $F_4$ +Test implementation of $F_4$ [FAUG99] \item 2000-current -Buchberger algorithm in Weyl algebra [TAKA90] +Buchberger algorithm in Weyl algebra -Efficient $b$-function computation by a modular method +Efficient $b$-function computation[OAKU97] by a modular method \end{itemize} \end{slide} \begin{slide}{} -\fbox{Performance --- Factorizer} - -\begin{itemize} -\item 4 years ago - -Over {\bf Q} : fine compared with existing software -like REDUCE, Mathematica, maple - -Univariate, over algebraic number fields : -fine because of some tricks for polynomials -derived from norms. - -\item Current - -Multivariate : moderate - -Univariate : completely obsoleted by M. van Hoeij's new algorithm -[HOEI00] -\end{itemize} - -\end{slide} - -\begin{slide}{} \fbox{Timing data --- Factorization} \underline{Univariate; over {\bf Q}} -$N_i$ : a norm of a poly, $\deg(N_i) = i$ +$N_i$ : a norm of a polynomial, $\deg(N_i) = i$ \begin{center} \begin{tabular}{|c||c|c|c|c|} \hline & $N_{105}$ & $N_{120}$ & $N_{168}$ & $N_{210}$ \\ \hline Asir & 0.86 & 59 & 840 & hard \\ \hline Asir NormFactor & 1.6 & 2.2& 6.1& hard \\ \hline -Singular& hard? & hard?& hard? & hard? \\ \hline +%Singular& hard? & hard?& hard? & hard? \\ \hline CoCoA 4 & 0.2 & 7.1 & 16 & 0.5 \\ \hline\hline NTL-5.2 & 0.16 & 0.9 & 1.4 & 0.4 \\ \hline \end{tabular} @@ -273,44 +218,16 @@ $W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\t \begin{tabular}{|c||c|c|c|c|c|} \hline & $W_{1,2,3}$ & $W_{4,5,6}$ & $W_{7,8,9}$ & $W_{10,11,12}$ & $W_{13,14,15}$ \\ \hline Asir & 0.2 & 4.7 & 14 & 17 & 0.4 \\ \hline -Singular& $>$15min & --- & ---& ---& ---\\ \hline +%Singular& $>$15min & --- & ---& ---& ---\\ \hline CoCoA 4 & 5.2 & $>$15min & $>$15min & $>$15min & 117 \\ \hline\hline -Mathematica& 0.2 & 16 & 23 & 36 & 1.1 \\ \hline +Mathematica 4& 0.2 & 16 & 23 & 36 & 1.1 \\ \hline +Maple 7& 0.5 & 18 & 48 & & 1.3 \\ \hline \end{tabular} \end{center} ---- : not tested +%--- : not tested \end{slide} -\begin{slide}{} -\fbox{Performance --- Groebner basis related computation} -\begin{itemize} -\item 7 years ago - -Trace lifting : rather fine but coefficient swells often occur - -Homogenization+trace lifting : robust and fast in the above cases - -\item 4 years ago - -Modular RUR was comparable with Rouillier's implementation. - -DRL basis of {\it McKay}: - -5 days on Risa/Asir, 53 seconds on Faug\`ere FGb -\item Current - -$F_4$ in FGb : much more efficient than $F_4$ in Risa/Asir - -Buchberger in Singular ({\tt http://www.singular.uni-kl.de}) -: faster than Risa/Asir - - -$\Leftarrow$ efficient monomial and polynomial computation - -\end{itemize} -\end{slide} - \begin{slide}{} \fbox{Timing data --- DRL Groebner basis computation} @@ -320,7 +237,7 @@ $\Leftarrow$ efficient monomial and polynomial computa & $C_7$ & $C_8$ & $K_7$ & $K_8$ & $K_9$ & $K_{10}$ & $K_{11}$ \\ \hline Asir $Buchberger$ & 31 & 1687 & 2.6 & 27 & 294 & 4309 & --- \\ \hline Singular & 8.7 & 278 & 0.6 & 5.6 & 54 & 508 & 5510 \\ \hline -CoCoA 4 & 241 & & 3.8 & 35 & 402 & & --- \\ \hline\hline +CoCoA 4 & 241 & $>$ 5h & 3.8 & 35 & 402 &7021 & --- \\ \hline\hline Asir $F_4$ & 5.3 & 129 & 0.5 & 4.5 & 31 & 273 & 2641 \\ \hline FGb(estimated) & 0.9 & 23 & 0.1 & 0.8 & 6 & 51 & 366 \\ \hline \end{tabular} @@ -340,39 +257,53 @@ FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline \end{center} --- : not tested \end{slide} + \begin{slide}{} -\fbox{How do we proceed?} +\fbox{Summary of performance} -\underline{Total performance : not excellent, but not so bad} +\begin{itemize} +\item Factorizer \begin{itemize} -\item Trying to improve our implementation +\item Multivariate : reasonable performance -This is very important as a motivation of further development +\item Univariate : obsoleted by M. van Hoeij's new algorithm [HOEI00] +\end{itemize} +\item Groebner basis computation + \begin{itemize} +\item Buchberger -\item Computation of $b$-function +Singular shows nice perfomance -fast but not satisfactory +Trace lifting is efficient in some cases over {\bf Q} -$\Rightarrow$ Groebner basis computation in Weyl -algebra should be improved +\item $F_4$ + +FGb is much faster than Risa/Asir + +But we observe that {\it McKay} is computed efficiently by $F_4$ \end{itemize} +\end{itemize} -\item Developing new OpenXM servers +\end{slide} -{ox\_NTL} for univariate factorization, +\begin{slide}{} +\fbox{Summary} -{ox\_???} for Groebner basis computation, etc. +\begin{itemize} +\item Total performance is not excellent, but not so bad -$\Rightarrow$ Risa/Asir can be a front-end of efficient servers +\item A completely open system +The whole source is available + +\item Interface compliant to OpenXM RFC-100 + +The interface is fully documented \end{itemize} -\begin{center} -\underline{In both cases, OpenXM interface is important} -\end{center} \end{slide} @@ -430,6 +361,38 @@ $\Rightarrow$ Risa/Asir can be a front-end of efficien %\end{slide} \begin{slide}{} +\fbox{OpenXM (Open message eXchange protocol for Mathematics) } + +\begin{itemize} +\item An environment for parallel distributed computation + +Both for interactive, non-interactive environment + +\item OpenXM RFC-100 = Client-server architecture + +Client $\Leftarrow$ OX (OpenXM) message $\Rightarrow$ Server + +OX (OpenXM) message : command and data + +\item Data + +Encoding : CMO (Common Mathematical Object format) + +Serialized representation of mathematical object + +--- Main idea was borrowed from OpenMath + +({\tt http://www.openmath.org}) + +\item Command + +stack machine command --- server is a stackmachine + ++ server's own command sequences --- hybrid server +\end{itemize} +\end{slide} + +\begin{slide}{} \fbox{Example of distributed computation --- $F_4$ vs. $Buchberger$ } \begin{verbatim} @@ -470,7 +433,7 @@ Design and Implementation of MP, A Protocol for Effici Mathematical Expression, J. Symb. Comp. {\bf 25} (1998), 213-238. -[HOEI00] M. van Heoij, Factoring polynomials and the knapsack problem, +[HOEI00] M. van Hoeij, Factoring polynomials and the knapsack problem, to appear in Journal of Number Theory (2000). [LIAO01] W. Liao et al,