version 1.7, 2001/10/10 06:32:10 |
version 1.10, 2001/10/11 09:44:56 |
|
|
% $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.9 2001/10/11 08:43:08 noro Exp $ |
\setlength{\parskip}{10pt} |
\setlength{\parskip}{10pt} |
|
|
\begin{slide}{} |
\begin{slide}{} |
|
|
\end{center} |
\end{center} |
\end{slide} |
\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}{} |
\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} |
\fbox{A computer algebra system Risa/Asir} |
|
|
({\tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) |
({\tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) |
|
|
\begin{itemize} |
\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 |
\item User language with C-like syntax |
|
|
C language without type declaration, with list processing |
C language without type declaration, with list processing |
Line 88 C language without type declaration, with list process |
|
Line 57 C language without type declaration, with list process |
|
|
|
Whole source tree is available via CVS |
Whole source tree is available via CVS |
|
|
|
The latest version : see {\tt http://www.openxm.org} |
|
|
\item OpenXM interface |
\item OpenXM interface |
|
|
\begin{itemize} |
\begin{itemize} |
|
\item OpenXM |
|
|
|
An infrastructure for exchanging mathematical data |
\item Risa/Asir is a main client in OpenXM package. |
\item Risa/Asir is a main client in OpenXM package. |
\item An OpenXM server {\tt ox\_asir} |
\item An OpenXM server {\tt ox\_asir} |
\item A library with OpenXM library interface {\tt libasir.a} |
\item A library with OpenXM library interface {\tt libasir.a} |
Line 102 Whole source tree is available via CVS |
|
Line 76 Whole source tree is available via CVS |
|
\fbox{Goal of developing Risa/Asir} |
\fbox{Goal of developing Risa/Asir} |
|
|
\begin{itemize} |
\begin{itemize} |
\item Efficient implementation in specific area |
\item Testing new algorithms |
|
|
\begin{itemize} |
\begin{itemize} |
\item Polynomial factorization |
\item Development started in Fujitsu labs |
|
|
\item Groebner basis related computation |
Polynomial factorization, Groebner basis related computation, |
|
cryptosystems , quantifier elimination , $\ldots$ |
Main target : coefficient swells in characteristic 0 cases |
|
|
|
Main tool : modular method |
|
\end{itemize} |
\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{itemize} |
|
\end{slide} |
\end{slide} |
|
|
\begin{slide}{} |
%\begin{slide}{} |
\fbox{Capability for polynomial computation} |
%\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}{} |
\begin{slide}{} |
\fbox{History of development : Polynomial factorization} |
\fbox{History of development : Polynomial factorization} |
|
|
Line 185 Intensive use of successive extension, non-squarefree |
|
Line 151 Intensive use of successive extension, non-squarefree |
|
|
|
Univariate factorization over large finite fields |
Univariate factorization over large finite fields |
|
|
|
Motivated by a reseach project in Fujitsu on cryptography |
|
|
\item 2000-current |
\item 2000-current |
|
|
Multivariate factorization over small finite fields (in progress) |
Multivariate factorization over small finite fields (in progress) |
Line 205 Trace lifting with homogenization |
|
Line 173 Trace lifting with homogenization |
|
|
|
Omitting GB check by compatible prime [NOYO99] |
Omitting GB check by compatible prime [NOYO99] |
|
|
Modular change of ordering/RUR [NOYO99] |
Modular change of ordering/RUR[ROUI96] [NOYO99] |
|
|
Primary ideal decomposition [SHYO96] |
Primary ideal decomposition [SHYO96] |
|
|
Line 216 Solved {\it McKay} system for the first time |
|
Line 184 Solved {\it McKay} system for the first time |
|
|
|
\item 1998-2000 |
\item 1998-2000 |
|
|
Test implementation of $F_4$ |
Test implementation of $F_4$ [FAUG99] |
|
|
\item 2000-current |
\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{itemize} |
\end{slide} |
\end{slide} |
|
|
\begin{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} |
\fbox{Timing data --- Factorization} |
|
|
\underline{Univariate; over {\bf Q}} |
\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{center} |
\begin{tabular}{|c||c|c|c|c|} \hline |
\begin{tabular}{|c||c|c|c|c|} \hline |
& $N_{105}$ & $N_{120}$ & $N_{168}$ & $N_{210}$ \\ \hline |
& $N_{105}$ & $N_{120}$ & $N_{168}$ & $N_{210}$ \\ \hline |
Asir & 0.86 & 59 & 840 & hard \\ \hline |
Asir & 0.86 & 59 & 840 & hard \\ \hline |
Asir NormFactor & 1.6 & 2.2& 6.1& 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 |
CoCoA 4 & 0.2 & 7.1 & 16 & 0.5 \\ \hline\hline |
NTL-5.2 & 0.16 & 0.9 & 1.4 & 0.4 \\ \hline |
NTL-5.2 & 0.16 & 0.9 & 1.4 & 0.4 \\ \hline |
\end{tabular} |
\end{tabular} |
Line 273 $W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\t |
|
Line 218 $W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\t |
|
\begin{tabular}{|c||c|c|c|c|c|} \hline |
\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 |
& $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 |
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 |
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 & 967 & 48 & 1.3 \\ \hline |
\end{tabular} |
\end{tabular} |
\end{center} |
\end{center} |
|
|
--- : not tested |
%--- : not tested |
\end{slide} |
\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}{} |
\begin{slide}{} |
\fbox{Timing data --- DRL Groebner basis computation} |
\fbox{Timing data --- DRL Groebner basis computation} |
|
|
Line 320 $\Leftarrow$ efficient monomial and polynomial computa |
|
Line 237 $\Leftarrow$ efficient monomial and polynomial computa |
|
& $C_7$ & $C_8$ & $K_7$ & $K_8$ & $K_9$ & $K_{10}$ & $K_{11}$ \\ \hline |
& $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 |
Asir $Buchberger$ & 31 & 1687 & 2.6 & 27 & 294 & 4309 & --- \\ \hline |
Singular & 8.7 & 278 & 0.6 & 5.6 & 54 & 508 & 5510 \\ \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 |
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 |
FGb(estimated) & 0.9 & 23 & 0.1 & 0.8 & 6 & 51 & 366 \\ \hline |
\end{tabular} |
\end{tabular} |
Line 340 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
Line 257 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
\end{center} |
\end{center} |
--- : not tested |
--- : not tested |
\end{slide} |
\end{slide} |
|
|
\begin{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} |
\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} |
\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 |
\item $F_4$ |
algebra should be improved |
|
|
FGb is much faster than Risa/Asir |
|
|
|
But we observe that {\it McKay} is computed efficiently by $F_4$ |
\end{itemize} |
\end{itemize} |
|
\end{itemize} |
|
|
\item Developing new OpenXM servers |
\end{slide} |
|
|
{ox\_NTL} for univariate factorization, |
\begin{slide}{} |
|
\fbox{What is the merit to use Risa/Asir?} |
|
|
{ox\_???} for Groebner basis computation, etc. |
\begin{itemize} |
|
\item Total performance is not excellent, but not 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 |
|
|
|
\item It serves as a test bench to try new ideas |
|
|
|
Interactive debugger is very useful |
\end{itemize} |
\end{itemize} |
|
|
\begin{center} |
|
\underline{In both cases, OpenXM interface is important} |
|
\end{center} |
|
\end{slide} |
\end{slide} |
|
|
|
|
Line 430 $\Rightarrow$ Risa/Asir can be a front-end of efficien |
|
Line 365 $\Rightarrow$ Risa/Asir can be a front-end of efficien |
|
%\end{slide} |
%\end{slide} |
|
|
\begin{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$ } |
\fbox{Example of distributed computation --- $F_4$ vs. $Buchberger$ } |
|
|
\begin{verbatim} |
\begin{verbatim} |
Line 470 Design and Implementation of MP, A Protocol for Effici |
|
Line 437 Design and Implementation of MP, A Protocol for Effici |
|
Mathematical Expression, |
Mathematical Expression, |
J. Symb. Comp. {\bf 25} (1998), 213-238. |
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). |
to appear in Journal of Number Theory (2000). |
|
|
[LIAO01] W. Liao et al, |
[LIAO01] W. Liao et al, |