| version 1.3, 2001/10/12 02:22:17 |
version 1.6, 2001/10/12 07:45:11 |
|
|
| % $OpenXM: OpenXM/doc/Papers/dag-noro.tex,v 1.2 2001/10/10 06:32:10 noro Exp $ |
% $OpenXM: OpenXM/doc/Papers/dag-noro.tex,v 1.5 2001/10/12 05:11:36 noro Exp $ |
| \documentclass{slides} |
\documentclass{slides} |
| \usepackage{color} |
\usepackage{color} |
| \usepackage{rgb} |
\usepackage{rgb} |
|
|
| \textheight 7.2in |
\textheight 7.2in |
| \columnsep 0.33in |
\columnsep 0.33in |
| \topmargin -1in |
\topmargin -1in |
| |
\def\tc{\color{red}} |
| |
\def\fbc{\bf\color{MediumBlue}} |
| |
\def\itc{\color{brown}} |
| |
\def\urlc{\bf\color{DarkGreen}} |
| |
\def\bc{\color{LightGoldenrod1}} |
| |
|
| \title{A computer algebra system Risa/Asir and OpenXM} |
\title{\tc A computer algebra system Risa/Asir and OpenXM} |
| |
|
| \author{Masayuki Noro\\ Kobe University, Japan} |
\author{Masayuki Noro\\ Kobe University, Japan} |
| \begin{document} |
\begin{document} |
|
|
| |
|
| %\begin{slide}{} |
%\begin{slide}{} |
| %\begin{center} |
%\begin{center} |
| %\fbox{\large Part I : OpenXM and Risa/Asir --- overview and history} |
%\fbox{\fbc \large Part I : OpenXM and Risa/Asir --- overview and history} |
| %\end{center} |
%\end{center} |
| %\end{slide} |
%\end{slide} |
| |
|
| %\begin{slide}{} |
%\begin{slide}{} |
| %\fbox{Integration of mathematical software systems} |
%\fbox{\fbc Integration of mathematical software systems} |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Data integration |
%\item Data integration |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item OpenMath ({\tt http://www.openmath.org}) , MP [GRAY98] |
%\item OpenMath ({\urlc \tt http://www.openmath.org}) , MP [GRAY98] |
| %\end{itemize} |
%\end{itemize} |
| % |
% |
| %Standards for representing mathematical objects |
%Standards for representing mathematical objects |
|
|
| %\begin{itemize} |
%\begin{itemize} |
| %\item MathLink, OpenMath+MCP, MP+MCP |
%\item MathLink, OpenMath+MCP, MP+MCP |
| % |
% |
| %and OpenXM ({\tt http://www.openxm.org}) |
%and OpenXM ({\urlc \tt http://www.openxm.org}) |
| %\end{itemize} |
%\end{itemize} |
| % |
% |
| %Both are necessary for practical implementation |
%Both are necessary for practical implementation |
|
|
| %\end{itemize} |
%\end{itemize} |
| %\end{slide} |
%\end{slide} |
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{A computer algebra system Risa/Asir} |
\fbox{\fbc A computer algebra system Risa/Asir} |
| |
|
| ({\tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) |
|
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Software mainly for polynomial computation |
\item {\itc Software mainly for polynomial computation} |
| |
|
| \item User language with C-like syntax |
Polynomial factorization, Groebner basis computation |
| |
\item {\itc User language with C-like syntax} |
| |
|
| C language without type declaration, with list processing |
C language without type declaration, with list processing |
| |
|
| \item Builtin {\tt gdb}-like debugger for user programs |
\item {\itc Builtin {\tt gdb}-like debugger for user programs} |
| |
|
| \item Open source |
\item {\itc Open source} ({\urlc \tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) |
| |
|
| Whole source tree is available via CVS |
The source and binaries are available via ftp or CVS |
| |
|
| The latest version : see {\tt http://www.openxm.org} |
See {\urlc \tt http://www.openxm.org} to get the latest version |
| |
|
| \item OpenXM interface |
\item {\itc OpenXM interface} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item OpenXM |
\item OpenXM ({\urlc \tt http://www.openxm.org}) |
| |
|
| An infrastructure for exchanging mathematical data |
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 {\tt ox\_asir} is an OpenXM server |
| \item A library with OpenXM library interface {\tt libasir.a} |
\item {\tt libasir.a} provides OpenXM interface via function call |
| \end{itemize} |
\end{itemize} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Goal of developing Risa/Asir} |
\fbox{\fbc Goal of developing Risa/Asir} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Testing new algorithms |
\item {\itc Testing new algorithms} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Development started in Fujitsu labs |
\item Development started in Fujitsu labs |
| Line 107 Polynomial factorization, Groebner basis related compu |
|
| Line 111 Polynomial factorization, Groebner basis related compu |
|
| cryptosystems , quantifier elimination , $\ldots$ |
cryptosystems , quantifier elimination , $\ldots$ |
| \end{itemize} |
\end{itemize} |
| |
|
| \item To be a general purpose, open system |
\item {\itc To be a general purpose, open system} |
| |
|
| Since 1997, we have been developing OpenXM package |
Since 1997, we have been developing OpenXM package |
| containing various servers and clients |
containing various servers and clients |
| |
|
| Risa/Asir is a component of OpenXM |
Risa/Asir is a component of OpenXM |
| |
|
| \item Environment for parallel and distributed computation |
\item {\itc Environment for parallel and distributed computation} |
| |
|
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| |
|
| %\begin{slide}{} |
%\begin{slide}{} |
| %\fbox{Capability for polynomial computation} |
%\fbox{\fbc Capability for polynomial computation} |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Fundamental polynomial arithmetics |
%\item Fundamental polynomial arithmetics |
| Line 150 Risa/Asir is a component of OpenXM |
|
| Line 154 Risa/Asir is a component of OpenXM |
|
| %\end{slide} |
%\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{History of development : Polynomial factorization} |
\fbox{\fbc History of development : Polynomial factorization} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item 1989 |
\item {\itc 1989} |
| |
|
| Start of Risa/Asir with Boehm's conservative GC |
Start of Risa/Asir with Boehm's conservative GC |
| |
|
| ({\tt http://www.hpl.hp.com/personal/Hans\_Boehm/gc}) |
({\urlc \tt http://www.hpl.hp.com/personal/Hans\_Boehm/gc}) |
| |
|
| \item 1989-1992 |
\item {\itc 1989-1992} |
| |
|
| Univariate and multivariate factorizers over {\bf Q} |
Univariate and multivariate factorizers over {\bf Q} |
| |
|
| \item 1992-1994 |
\item {\itc 1992-1994} |
| |
|
| Univariate factorization over algebraic number fields |
Univariate factorization over algebraic number fields |
| |
|
| Intensive use of successive extension, non-squarefree norms |
Intensive use of successive extension, non-squarefree norms |
| |
|
| \item 1996-1998 |
Application to splitting field and Galois group computation |
| |
|
| |
\item {\itc 1996-1998} |
| |
|
| Univariate factorization over large finite fields |
Univariate factorization over large finite fields |
| |
|
| Motivated by a reseach project in Fujitsu on cryptography |
Motivated by a reseach project in Fujitsu on cryptography |
| |
|
| \item 2000-current |
\item {\itc 2000-current} |
| |
|
| Multivariate factorization over small finite fields (in progress) |
Multivariate factorization over small finite fields (in progress) |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{History of development : Groebner basis} |
\fbox{\fbc History of development : Groebner basis} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item 1992-1994 |
\item {\itc 1992-1994} |
| |
|
| User language $\Rightarrow$ C version; trace lifting [TRAV88] |
User language $\Rightarrow$ C version; trace lifting [TRAV88] |
| |
|
| \item 1994-1996 |
\item {\itc 1994-1996} |
| |
|
| Trace lifting with homogenization |
Trace lifting with homogenization |
| |
|
| Line 199 Modular change of ordering/RUR[ROUI96] [NOYO99] |
|
| Line 205 Modular change of ordering/RUR[ROUI96] [NOYO99] |
|
| |
|
| Primary ideal decomposition [SHYO96] |
Primary ideal decomposition [SHYO96] |
| |
|
| \item 1996-1998 |
\item {\itc 1996-1998} |
| |
|
| Efficient content reduction during NF computation [NORO97] |
Efficient content reduction during NF computation [NORO97] |
| Solved {\it McKay} system for the first time |
Solved {\it McKay} system for the first time |
| |
|
| \item 1998-2000 |
\item {\itc 1998-2000} |
| |
|
| Test implementation of $F_4$ [FAUG99] |
Test implementation of $F_4$ [FAUG99] |
| |
|
| \item 2000-current |
\item {\itc 2000-current} |
| |
|
| Buchberger algorithm in Weyl algebra |
Buchberger algorithm in Weyl algebra |
| |
|
| Line 217 Efficient $b$-function computation[OAKU97] by a modula |
|
| Line 223 Efficient $b$-function computation[OAKU97] by a modula |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Timing data --- Factorization} |
\fbox{\fbc Timing data --- Factorization} |
| |
|
| \underline{Univariate; over {\bf Q}} |
\underline{\itc Univariate; over {\bf Q}} (on Pentium III, 1GHz; unit : second) |
| |
|
| $N_i$ : a norm of a polynomial, $\deg(N_i) = i$ |
$N_{i,j}$ : a norm of a polynomial, $\deg(N_i) = i$ with $j$ modular factor |
| \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,23}$ & $N_{120,20}$ & $N_{168,24}$ & $N_{210,54}$ \\ \hline |
| Asir & 0.86 & 59 & 840 & hard \\ \hline |
{\tc Asir} & {\tc 0.86} & {\tc 59} & {\tc 840} & {\tc 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 |
| Line 233 NTL-5.2 & 0.16 & 0.9 & 1.4 & 0.4 \\ \hline |
|
| Line 239 NTL-5.2 & 0.16 & 0.9 & 1.4 & 0.4 \\ \hline |
|
| \end{tabular} |
\end{tabular} |
| \end{center} |
\end{center} |
| |
|
| \underline{Multivariate; over {\bf Q}} |
\underline{\itc Multivariate; over {\bf Q}} |
| |
|
| $W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\tt asir2000/lib/fctrdata} |
$W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\tt asir2000/lib/fctrdata} |
| \begin{center} |
\begin{center} |
| \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 |
variables & 3 & 5 & 5 & 5 & 4 \\ \hline |
| |
monomials & 905 & 41369 & 51940 & 30988 & 3344 \\ \hline\hline |
| |
{\tc Asir} & {\tc 0.2} & {\tc 4.7} & {\tc 14} & {\tc 17} & {\tc 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 4& 0.2 & 16 & 23 & 36 & 1.1 \\ \hline |
Mathematica 4& 0.2 & 16 & 23 & 36 & 1.1 \\ \hline |
| Line 251 Maple 7& 0.5 & 18 & 967 & 48 & 1.3 \\ \hline |
|
| Line 259 Maple 7& 0.5 & 18 & 967 & 48 & 1.3 \\ \hline |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Timing data --- DRL Groebner basis computation} |
\fbox{\fbc Timing data --- DRL Groebner basis computation} |
| |
|
| \underline{Over $GF(32003)$} |
\underline{\itc Over $GF(32003)$} |
| \begin{center} |
\begin{center} |
| \begin{tabular}{|c||c|c|c|c|c|c|c|} \hline |
\begin{tabular}{|c||c|c|c|c|c|c|c|} \hline |
| & $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 |
{\tc Asir $Buchberger$} & {\tc 31} & {\tc 1687} & {\tc 2.6} & {\tc 27} & {\tc 294} & {\tc 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 & $>$ 5h & 3.8 & 35 & 402 &7021 & --- \\ \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 |
{\tc Asir $F_4$} & {\tc 5.3} & {\tc 129} & {\tc 0.5} & {\tc 4.5} & {\tc 31} & {\tc 273} & {\tc 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} |
| \end{center} |
\end{center} |
| |
|
| \underline{Over {\bf Q}} |
\underline{\itc Over {\bf Q}} |
| |
|
| \begin{center} |
\begin{center} |
| \begin{tabular}{|c||c|c|c|c|c|} \hline |
\begin{tabular}{|c||c|c|c|c|c|} \hline |
| & $C_7$ & $Homog. C_7$ & $K_7$ & $K_8$ & $McKay$ \\ \hline |
& $C_7$ & $Homog. C_7$ & $K_7$ & $K_8$ & $McKay$ \\ \hline |
| Asir $Buchberger$ & 389 & 594 & 29 & 299 & 34950 \\ \hline |
{\tc Asir $Buchberger$} & {\tc 389} & {\tc 594} & {\tc 29} & {\tc 299} & {\tc 34950} \\ \hline |
| Singular & --- & 15247 & 7.6 & 79 & $>$ 20h \\ \hline |
Singular & --- & 15247 & 7.6 & 79 & $>$ 20h \\ \hline |
| CoCoA 4 & --- & 13227 & 57 & 709 & --- \\ \hline\hline |
CoCoA 4 & --- & 13227 & 57 & 709 & --- \\ \hline\hline |
| Asir $F_4$ & 989 & 456 & 90 & 991 & 4939 \\ \hline |
{\tc Asir $F_4$} & {\tc 989} & {\tc 456} & {\tc 90} & {\tc 991} & {\tc 4939} \\ \hline |
| FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
| \end{tabular} |
\end{tabular} |
| \end{center} |
\end{center} |
| Line 281 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| Line 289 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Summary of performance} |
\fbox{\fbc Summary of performance} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Factorizer |
\item {\itc Factorizer} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Multivariate : reasonable performance |
\item Multivariate : reasonable performance |
| Line 292 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| Line 300 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| \item Univariate : obsoleted by M. van Hoeij's new algorithm [HOEI00] |
\item Univariate : obsoleted by M. van Hoeij's new algorithm [HOEI00] |
| \end{itemize} |
\end{itemize} |
| |
|
| \item Groebner basis computation |
\item {\itc Groebner basis computation} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Buchberger |
\item Buchberger |
| Line 312 But we observe that {\it McKay} is computed efficientl |
|
| Line 320 But we observe that {\it McKay} is computed efficientl |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{What is the merit to use Risa/Asir?} |
\fbox{\fbc What is the merit to use Risa/Asir?} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Total performance is not excellent, but not bad |
\item {\itc Total performance is not excellent, but not bad} |
| |
|
| \item A completely open system |
\item {\itc A completely open system} |
| |
|
| The whole source is available |
The whole source is available |
| |
|
| \item Interface compliant to OpenXM RFC-100 |
\item {\itc It serves as a test bench to try new ideas} |
| |
|
| The interface is fully documented |
Interactive debugger is very useful |
| |
|
| \item It serves as a test bench to try new ideas |
\item {\itc Interface compliant to OpenXM RFC-100} |
| |
|
| Interactive debugger is very useful |
The interface is fully documented |
| |
|
| \end{itemize} |
\end{itemize} |
| |
|
| \end{slide} |
\end{slide} |
| |
|
| |
|
| %\begin{slide}{} |
%\begin{slide}{} |
| %\fbox{CMO = Serialized representation of mathematical object} |
%\fbox{\fbc CMO = Serialized representation of mathematical object} |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item primitive data |
%\item primitive data |
| Line 361 Interactive debugger is very useful |
|
| Line 370 Interactive debugger is very useful |
|
| %\end{slide} |
%\end{slide} |
| % |
% |
| %\begin{slide}{} |
%\begin{slide}{} |
| %\fbox{Stack based communication} |
%\fbox{\fbc Stack based communication} |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Data arrived a client |
%\item Data arrived a client |
| Line 387 Interactive debugger is very useful |
|
| Line 396 Interactive debugger is very useful |
|
| %\end{slide} |
%\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{OpenXM (Open message eXchange protocol for Mathematics) } |
\fbox{\fbc OpenXM (Open message eXchange protocol for Mathematics) } |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item An environment for parallel distributed computation |
\item {\itc An environment for parallel distributed computation} |
| |
|
| Both for interactive, non-interactive environment |
Both for interactive, non-interactive environment |
| |
|
| \item OpenXM RFC-100 = Client-server architecture |
\item {\itc OpenXM RFC-100 = Client-server architecture} |
| |
|
| Client $\Leftarrow$ OX (OpenXM) message $\Rightarrow$ Server |
Client $\Leftarrow$ OX (OpenXM) message $\Rightarrow$ Server |
| |
|
| OX (OpenXM) message : command and data |
OX (OpenXM) message : command and data |
| |
|
| \item Data |
\item {\itc Data} |
| |
|
| Encoding : CMO (Common Mathematical Object format) |
Encoding : CMO (Common Mathematical Object format) |
| |
|
| Line 408 Serialized representation of mathematical object |
|
| Line 417 Serialized representation of mathematical object |
|
| |
|
| --- Main idea was borrowed from OpenMath |
--- Main idea was borrowed from OpenMath |
| |
|
| ({\tt http://www.openmath.org}) |
({\urlc \tt http://www.openmath.org}) |
| |
|
| \item Command |
\item {\itc Command} |
| |
|
| stack machine command --- server is a stackmachine |
stack machine command --- server is a stackmachine |
| |
|
| Line 419 stack machine command --- server is a stackmachine |
|
| Line 428 stack machine command --- server is a stackmachine |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Example of distributed computation --- $F_4$ vs. $Buchberger$ } |
\fbox{\fbc Example of distributed computation --- $F_4$ vs. $Buchberger$ } |
| |
|
| \begin{verbatim} |
\begin{verbatim} |
| /* competitive Gbase computation over GF(M) */ |
/* competitive Gbase computation over GF(M) */ |
| /* Cf. A.28 in SINGULAR Manual */ |
/* Cf. A.28 in SINGULAR Manual */ |
| /* Process list is specified as an option : grvsf4(...|proc=P) */ |
/* Process list is specified as buch_vs_f4_mod(...|proc=P) */ |
| def grvsf4(G,V,M,O) |
def buch_vs_f4_mod(G,V,M,O) |
| { |
{ |
| P = getopt(proc); |
P = getopt(proc); |
| if ( type(P) == -1 ) return dp_f4_mod_main(G,V,M,O); |
if ( type(P) == -1 ) return dp_f4_mod_main(G,V,M,O); |
| P0 = P[0]; P1 = P[1]; P = [P0,P1]; |
P0 = P[0]; P1 = P[1]; P = [P0,P1]; |
| map(ox_reset,P); |
map(ox_reset,P); /* resets the both servers */ |
| ox_cmo_rpc(P0,"dp_f4_mod_main",G,V,M,O); |
ox_cmo_rpc(P0,"dp_f4_mod_main",G,V,M,O); /* for F4 */ |
| ox_cmo_rpc(P1,"dp_gr_mod_main",G,V,0,M,O); |
ox_cmo_rpc(P1,"dp_gr_mod_main",G,V,0,M,O); /* for Buchberger */ |
| map(ox_push_cmd,P,262); /* 262 = OX_popCMO */ |
map(ox_push_cmd,P,262); /* 262 = OX_popCMO */ |
| F = ox_select(P); R = ox_get(F[0]); |
F = ox_select(P); /* waits a server to return the result */ |
| |
R = ox_get(F[0]); /* gets the result from the winner */ |
| if ( F[0] == P0 ) { Win = "F4"; Lose = P1;} |
if ( F[0] == P0 ) { Win = "F4"; Lose = P1;} |
| else { Win = "Buchberger"; Lose = P0; } |
else { Win = "Buchberger"; Lose = P0; } |
| ox_reset(Lose); /* simply resets the loser */ |
ox_reset(Lose); /* simply resets the loser */ |
| Line 444 def grvsf4(G,V,M,O) |
|
| Line 454 def grvsf4(G,V,M,O) |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{References} |
\fbox{\fbc Real speedup by parallelism --- polynomial multiplication} |
| |
|
| |
{\itc Product of dense univariate polynomials with 3000bit coefficients} |
| |
|
| |
{\itc Algorithm : FFT+Chinese remainder (by Shoup)} |
| |
|
| |
\epsfxsize=20cm |
| |
\epsffile{3k.ps} |
| |
|
| |
{\itc Communication cost} |
| |
|
| |
\begin{itemize} |
| |
\item $O(n{\color{red}\log L})$ with server-server communication (OX-RFC102) |
| |
\item $O(n{\color{red}L})$ without server-server communication (OX-RFC100) |
| |
\end{itemize} |
| |
($L$: number of processes, $n$: degree) |
| |
|
| |
\end{slide} |
| |
|
| |
\begin{slide}{} |
| |
\fbox{\fbc References} |
| |
|
| [BERN97] L. Bernardin, On square-free factorization of |
[BERN97] L. Bernardin, On square-free factorization of |
| multivariate polynomials over a finite field, Theoretical |
multivariate polynomials over a finite field, Theoretical |