| version 1.5, 2001/10/09 01:44:21 |
version 1.8, 2001/10/11 01:34:42 |
|
|
| % $OpenXM: OpenXM/doc/Papers/dagb-noro.tex,v 1.4 2001/10/04 08:22:20 noro Exp $ |
% $OpenXM: OpenXM/doc/Papers/dagb-noro.tex,v 1.7 2001/10/10 06:32:10 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{OpenXM (Open message eXchange protocol for Mathematics) } |
\fbox{A computer algebra system Risa/Asir} |
| |
|
| \begin{itemize} |
({\tt http://www.math.kobe-u.ac.jp/Asir/asir.html}) |
| \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 [OpenMath] |
|
| \item Command |
|
| |
|
| stack machine command --- server is a stackmachine |
|
| |
|
| + server's own command sequences --- hybrid server |
|
| \end{itemize} |
|
| \end{slide} |
|
| |
|
| |
|
| \begin{slide}{} |
|
| \fbox{OpenXM and OpenMath} |
|
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item OpenMath |
\item Software mainly for polynomial computation |
| |
|
| \begin{itemize} |
|
| \item A standard for representing mathematical objects |
|
| |
|
| \item CD (Content Dictionary) : assigns semantics to symbols |
|
| |
|
| \item Phrasebook : convesion between internal and OpenMath objects. |
|
| |
|
| \item Encoding : format for actual data exchange |
|
| \end{itemize} |
|
| |
|
| \item OpenXM |
|
| |
|
| \begin{itemize} |
|
| \item Specification for encoding and exchanging messages |
|
| |
|
| \item It also specifies behavior of servers and session management |
|
| \end{itemize} |
|
| |
|
| \end{itemize} |
|
| \end{slide} |
|
| \begin{slide}{} |
|
| \fbox{A computer algebra system Risa/Asir} |
|
| |
|
| \begin{itemize} |
|
| \item Old style software 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 81 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 An library with OpemXM library inteface {\tt libasir.a} |
\item A library with OpenXM library interface {\tt libasir.a} |
| \end{itemize} |
\end{itemize} |
| \end{itemize} |
\end{itemize} |
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Aim of developing Risa/Asir} |
\fbox{Goal of developing Risa/Asir} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Efficient implementation in specific area |
\item Testing new algorithms |
| |
|
| Polynomial factorization, Groebner basis related computation |
|
| |
|
| $\Rightarrow$ serves as an OpenXM server/library |
|
| |
|
| \item Front-end of a general purpose math software |
|
| |
|
| Risa/Asir contains PARI library [PARI] from the very beginning |
|
| |
|
| It also acts as a main client of OpenXM package |
|
| |
|
| \end{itemize} |
|
| \end{slide} |
|
| |
|
| \begin{slide}{} |
|
| \fbox{Capability for polynomial computation} |
|
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Fundamental polynomial arithmetics |
\item Development started in Fujitsu labs |
| |
|
| recursive representaion and distributed representation |
Polynomial factorization, Groebner basis related computation, |
| |
cryptosystems , quantifier elimination , $\ldots$ |
| \item Polynomial factorization |
|
| |
|
| \begin{itemize} |
|
| \item Univariate : over {\bf Q}, algebraic number fields and finite fields |
|
| |
|
| \item Multivariate : over {\bf Q} |
|
| \end{itemize} |
\end{itemize} |
| |
|
| \item Groebner basis computation |
\item To be a general purpose, open system |
| |
|
| \begin{itemize} |
Since 1997, we have been developing OpenXM package |
| \item Buchberger and $F_4$ [Faug\'ere] algorithm |
containing various servers and clients |
| |
|
| \item Change of ordering/RUR [Rouillier] of 0-dimensional ideals |
Risa/Asir is a component of OpenXM |
| |
|
| \item Primary ideal decomposition |
\item Environment for parallel and distributed computation |
| |
|
| \item Computation of $b$-function (in Weyl Algebra) |
|
| \end{itemize} |
\end{itemize} |
| \end{itemize} |
|
| \end{slide} |
\end{slide} |
| |
|
| |
%\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{slide}{} |
\begin{slide}{} |
| \fbox{History of development : Polynomial factorization} |
\fbox{History of development : Polynomial factorization} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item 1989 |
\item 1989 |
| |
|
| Start of Risa/Asir with Boehm's conservative GC [Boehm] |
Start of Risa/Asir with Boehm's conservative GC |
| |
|
| |
({\tt http://www.hpl.hp.com/personal/Hans\_Boehm/gc}) |
| |
|
| \item 1989-1992 |
\item 1989-1992 |
| |
|
| Univariate and multivariate factorizers over {\bf Q} |
Univariate and multivariate factorizers over {\bf Q} |
| Line 162 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 174 Multivariate factorization over small finite fields (i |
|
| Line 165 Multivariate factorization over small finite fields (i |
|
| \begin{itemize} |
\begin{itemize} |
| \item 1992-1994 |
\item 1992-1994 |
| |
|
| User language $\Rightarrow$ C version; trace lifting [Traverso] |
User language $\Rightarrow$ C version; trace lifting [TRAV88] |
| |
|
| \item 1994-1996 |
\item 1994-1996 |
| |
|
| Trace lifting with homogenization |
Trace lifting with homogenization |
| |
|
| Omitting GB check by compatible prime [NY] |
Omitting GB check by compatible prime [NOYO99] |
| |
|
| Modular change of ordering/RUR [NY] |
Modular change of ordering/RUR[ROUI96] [NOYO99] |
| |
|
| Primary ideal decompositon [SY] |
Primary ideal decomposition [SHYO96] |
| |
|
| \item 1996-1998 |
\item 1996-1998 |
| |
|
| Effifcient content reduction during NF computation and its parallelization |
Efficient content reduction during NF computation [NORO97] |
| [Noro] (Solved {\it McKay} system for the first time) |
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 [Takayama] |
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} |
\fbox{Timing data --- Factorization} |
| |
|
| \begin{itemize} |
\underline{Univariate; over {\bf Q}} |
| \item 4 years ago |
|
| |
|
| Over {\bf Q} : fine compared with existing software |
$N_i$ : a norm of a polynomial, $\deg(N_i) = i$ |
| like REDUCE, Mathematica, maple |
\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 |
| |
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} |
| |
\end{center} |
| |
|
| Univarate, over algebraic number fields : |
\underline{Multivariate; over {\bf Q}} |
| fine because of some tricks for polynomials |
|
| derived from norms. |
|
| |
|
| \item Current |
$W_{i,j,k} = Wang[i]\cdot Wang[j]\cdot Wang[k]$ in {\tt asir2000/lib/fctrdata} |
| |
\begin{center} |
| |
\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 |
| |
CoCoA 4 & 5.2 & $>$15min & $>$15min & $>$15min & 117 \\ \hline\hline |
| |
Mathematica 4& 0.2 & 16 & 23 & 36 & 1.1 \\ \hline |
| |
Maple 7& 0.5 & 18 & 48 & & 1.3 \\ \hline |
| |
\end{tabular} |
| |
\end{center} |
| |
|
| Multivariate : not so bad |
%--- : not tested |
| |
|
| Univariate : completely obsolete by M. van Hoeij's new algorithm |
|
| [Hoeij] |
|
| \end{itemize} |
|
| |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{Performance --- Groebner basis related computation} |
\fbox{Timing data --- DRL Groebner basis computation} |
| |
|
| \begin{itemize} |
\underline{Over $GF(32003)$} |
| \item 7 years ago |
\begin{center} |
| |
\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 |
| |
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 & $>$ 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} |
| |
\end{center} |
| |
|
| Trace lifting : rather fine but coefficient swells often occur |
\underline{Over {\bf Q}} |
| |
|
| 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 Faugere FGb |
|
| \item Current |
|
| |
|
| $F_4$ in FGb : much more efficient than $F_4$ in Risa/Asir |
|
| |
|
| Buchberger in Singular [Singular] : faster than Risa/Asir |
|
| |
|
| $\Leftarrow$ efficient monomial and polynomial representation |
|
| |
|
| \end{itemize} |
|
| \end{slide} |
|
| |
|
| \begin{slide}{} |
|
| \fbox{How do we proceed?} |
|
| |
|
| \begin{itemize} |
|
| \item Developing new OpenXM servers |
|
| |
|
| {ox\_NTL} for univariate factorization, |
|
| |
|
| {ox\_FGb} for Groebner basis computation (is it possible?) etc. |
|
| |
|
| $\Rightarrow$ Risa/Asir can be a front-end of efficient servers |
|
| |
|
| \item Trying to improve our implementation |
|
| |
|
| Computation of $b$-function : still faster than any other system |
|
| (Kan/sm1, Macaulay2) but not satisfactory |
|
| |
|
| $\Rightarrow$ Groebner basis computation in Weyl |
|
| algebra should be improved |
|
| \end{itemize} |
|
| |
|
| \begin{center} |
\begin{center} |
| \underline{In both cases, OpenXM interface is important} |
\begin{tabular}{|c||c|c|c|c|c|} \hline |
| |
& $C_7$ & $Homog. C_7$ & $K_7$ & $K_8$ & $McKay$ \\ \hline |
| |
Asir $Buchberger$ & 389 & 594 & 29 & 299 & 34950 \\ \hline |
| |
Singular & --- & 15247 & 7.6 & 79 & $>$ 20h \\ \hline |
| |
CoCoA 4 & --- & 13227 & 57 & 709 & --- \\ \hline\hline |
| |
Asir $F_4$ & 989 & 456 & 90 & 991 & 4939 \\ \hline |
| |
FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
| |
\end{tabular} |
| \end{center} |
\end{center} |
| |
--- : not tested |
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{OpenXM server interface in Risa/Asir} |
\fbox{Summary of performance} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item TCP/IP stream |
\item Factorizer |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Launcher |
\item Multivariate : reasonable performance |
| |
|
| A client executes a launcher on a host. |
\item Univariate : obsoleted by M. van Hoeij's new algorithm [HOEI00] |
| |
\end{itemize} |
| |
|
| The launcher launches a server on the same host. |
\item Groebner basis computation |
| |
|
| \item Server |
\begin{itemize} |
| |
\item Buchberger |
| |
|
| Reads from the descriptor 3 |
Singular shows nice perfomance |
| |
|
| Writes to the descriptor 4 |
Trace lifting is efficient in some cases over {\bf Q} |
| |
|
| \end{itemize} |
\item $F_4$ |
| |
|
| \item Subroutine call |
FGb is much faster than Risa/Asir |
| |
|
| In Risa/Asir subroutine library {\tt libasir.a}: |
But we observe that {\it McKay} is computed efficiently by $F_4$ |
| |
|
| OpenXM functionalities are implemented as functon calls |
|
| |
|
| pushing and popping data, executing stack commands etc. |
|
| \end{itemize} |
\end{itemize} |
| |
\end{itemize} |
| |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{OpenXM client interface in Risa/Asir} |
\fbox{Summary} |
| |
|
| \begin{itemize} |
\begin{itemize} |
| \item Primitive interface functions |
\item Total performance is not excellent, but not so bad |
| |
|
| Pushing and popping data, sending commands etc. |
\item A completely open system |
| |
|
| \item Convenient functions |
The whole source is available |
| |
|
| Launching servers, |
\item Interface compliant to OpenXM RFC-100 |
| |
|
| Calling remote functions, |
The interface is fully documented |
| |
|
| Resetting remote executions etc. |
|
| |
|
| \item Parallel distributed computation |
|
| |
|
| Simple parallelization is practically important |
|
| |
|
| Competitive computation is easily realized ($\Rightarrow$ demo) |
|
| \end{itemize} |
\end{itemize} |
| |
|
| \end{slide} |
\end{slide} |
| |
|
| |
|
| Line 382 Competitive computation is easily realized ($\Rightarr |
|
| Line 353 Competitive computation is easily realized ($\Rightarr |
|
| %\begin{itemize} |
%\begin{itemize} |
| %\item Stack = I/O buffer for (possibly large) objects |
%\item Stack = I/O buffer for (possibly large) objects |
| % |
% |
| %Multiple requests can be sent before their exection |
%Multiple requests can be sent before their execution |
| % |
% |
| %A server does not get stuck in sending results |
%A server does not get stuck in sending results |
| %\end{itemize} |
%\end{itemize} |
| Line 390 Competitive computation is easily realized ($\Rightarr |
|
| Line 361 Competitive computation is easily realized ($\Rightarr |
|
| %\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 417 def grvsf4(G,V,M,O) |
|
| Line 420 def grvsf4(G,V,M,O) |
|
| \begin{slide}{} |
\begin{slide}{} |
| \fbox{References} |
\fbox{References} |
| |
|
| [Bernardin] 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 |
| Computer Science 187 (1997), 105-116. |
Computer Science 187 (1997), 105-116. |
| |
|
| [Boehm] {\tt http://www.hpl.hp.com/personal/Hans\_Boehm/gc} |
[FAUG99] J.C. Faug\`ere, |
| |
|
| [Faug\`ere] J.C. Faug\`ere, |
|
| A new efficient algorithm for computing Groebner bases ($F_4$), |
A new efficient algorithm for computing Groebner bases ($F_4$), |
| Journal of Pure and Applied Algebra (139) 1-3 (1999), 61-88. |
Journal of Pure and Applied Algebra (139) 1-3 (1999), 61-88. |
| |
|
| [Hoeij] M. van Heoij, Factoring polynomials and the knapsack problem, |
[GRAY98] S. Gray et al, |
| |
Design and Implementation of MP, A Protocol for Efficient Exchange of |
| |
Mathematical Expression, |
| |
J. Symb. Comp. {\bf 25} (1998), 213-238. |
| |
|
| |
[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). |
| |
|
| [Noro] M. Noro, J. McKay, |
[LIAO01] W. Liao et al, |
| |
OMEI: An Open Mathematical Engine Interface, |
| |
Proc. ASCM2001 (2001), 82-91. |
| |
[NORO97] M. Noro, J. McKay, |
| Computation of replicable functions on Risa/Asir. |
Computation of replicable functions on Risa/Asir. |
| Proc. of PASCO'97, ACM Press, 130-138 (1997). |
Proc. PASCO'97, ACM Press (1997), 130-138. |
| |
\end{slide} |
| |
|
| [NY] M. Noro, K. Yokoyama, |
\begin{slide}{} |
| |
|
| |
[NOYO99] M. Noro, K. Yokoyama, |
| A Modular Method to Compute the Rational Univariate |
A Modular Method to Compute the Rational Univariate |
| Representation of Zero-Dimensional Ideals. |
Representation of Zero-Dimensional Ideals. |
| J. Symb. Comp. {\bf 28}/1 (1999), 243-263. |
J. Symb. Comp. {\bf 28}/1 (1999), 243-263. |
| \end{slide} |
|
| |
|
| \begin{slide}{} |
[OAKU97] T. Oaku, Algorithms for $b$-functions, restrictions and algebraic |
| |
|
| [Oaku] T. Oaku, Algorithms for $b$-functions, restrictions and algebraic |
|
| local cohomology groups of $D$-modules. |
local cohomology groups of $D$-modules. |
| Advancees in Applied Mathematics, 19 (1997), 61-105. |
Advances in Applied Mathematics, 19 (1997), 61-105. |
| |
|
| [OpenMath] {\tt http://www.openmath.org} |
[ROUI96] F. Rouillier, |
| |
|
| [OpenXM] {\tt http://www.openxm.org} |
|
| |
|
| [PARI] {\tt http://www.parigp-home.de} |
|
| |
|
| [Risa/Asir] {\tt http://www.math.kobe-u.ac.jp/Asir/asir.html} |
|
| |
|
| [Rouillier] F. Rouillier, |
|
| R\'esolution des syst\`emes z\'ero-dimensionnels. |
R\'esolution des syst\`emes z\'ero-dimensionnels. |
| Doctoral Thesis(1996), University of Rennes I, France. |
Doctoral Thesis(1996), University of Rennes I, France. |
| |
|
| [SY] T. Shimoyama, K. Yokoyama, Localization and Primary Decomposition of Polynomial Ideals. J. Symb. Comp. {\bf 22} (1996), 247-277. |
[SHYO96] T. Shimoyama, K. Yokoyama, Localization and Primary Decomposition of Polynomial Ideals. J. Symb. Comp. {\bf 22} (1996), 247-277. |
| |
|
| [Singular] {\tt http://www.singular.uni-kl.de} |
[TRAV88] C. Traverso, \gr trace algorithms. Proc. ISSAC '88 (LNCS 358), 125-138. |
| |
|
| [Traverso] C. Traverso, \gr trace algorithms. Proc. ISSAC '88 (LNCS 358), 125-138. |
[WANG99] P. S. Wang, |
| |
Design and Protocol for Internet Accessible Mathematical Computation, |
| |
Proc. ISSAC '99 (1999), 291-298. |
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| Line 515 Berlekamp-Zassenhaus |
|
| Line 517 Berlekamp-Zassenhaus |
|
| |
|
| Trager's algorithm + some improvement |
Trager's algorithm + some improvement |
| |
|
| \item Over finite fieds |
\item Over finite fields |
| |
|
| DDF + Cantor-Zassenhaus; FFT for large finite fields |
DDF + Cantor-Zassenhaus; FFT for large finite fields |
| \end{itemize} |
\end{itemize} |
| Line 527 DDF + Cantor-Zassenhaus; FFT for large finite fields |
|
| Line 529 DDF + Cantor-Zassenhaus; FFT for large finite fields |
|
| |
|
| Classical EZ algorithm |
Classical EZ algorithm |
| |
|
| \item Over small finite fieds |
\item Over small finite fields |
| |
|
| Modified Bernardin's square free algorithm [Bernardin], |
Modified Bernardin's square free algorithm [BERN97], |
| |
|
| possibly Hensel lifting over extension fields |
possibly Hensel lifting over extension fields |
| \end{itemize} |
\end{itemize} |
| Line 572 Key : an efficient implementation of Leibniz rule |
|
| Line 574 Key : an efficient implementation of Leibniz rule |
|
| \begin{itemize} |
\begin{itemize} |
| \item More efficient than our Buchberger algorithm implementation |
\item More efficient than our Buchberger algorithm implementation |
| |
|
| but less efficient than FGb by Faugere |
but less efficient than FGb by Faug\`ere |
| \end{itemize} |
\end{itemize} |
| |
|
| \item Over the rationals |
\item Over the rationals |
| Line 689 The knapsack factorization is available via {\tt pari( |
|
| Line 691 The knapsack factorization is available via {\tt pari( |
|
| \end{slide} |
\end{slide} |
| |
|
| \begin{slide}{} |
\begin{slide}{} |
| |
\fbox{OpenXM server interface in Risa/Asir} |
| |
|
| |
\begin{itemize} |
| |
\item TCP/IP stream |
| |
|
| |
\begin{itemize} |
| |
\item Launcher |
| |
|
| |
A client executes a launcher on a host. |
| |
|
| |
The launcher launches a server on the same host. |
| |
|
| |
\item Server |
| |
|
| |
Reads from the descriptor 3 |
| |
|
| |
Writes to the descriptor 4 |
| |
|
| |
\end{itemize} |
| |
|
| |
\item Subroutine call |
| |
|
| |
In Risa/Asir subroutine library {\tt libasir.a}: |
| |
|
| |
OpenXM functionalities are implemented as function calls |
| |
|
| |
pushing and popping data, executing stack commands etc. |
| |
\end{itemize} |
| |
\end{slide} |
| |
|
| |
\begin{slide}{} |
| |
\fbox{OpenXM client interface in Risa/Asir} |
| |
|
| |
\begin{itemize} |
| |
\item Primitive interface functions |
| |
|
| |
Pushing and popping data, sending commands etc. |
| |
|
| |
\item Convenient functions |
| |
|
| |
Launching servers, |
| |
|
| |
Calling remote functions, |
| |
|
| |
Resetting remote executions etc. |
| |
|
| |
\item Parallel distributed computation |
| |
|
| |
Simple parallelization is practically important |
| |
|
| |
Competitive computation is easily realized ($\Rightarrow$ demo) |
| |
\end{itemize} |
| |
\end{slide} |
| |
|
| |
\begin{slide}{} |
| \fbox{Executing functions on a server (I) --- {\tt SM\_executeFunction}} |
\fbox{Executing functions on a server (I) --- {\tt SM\_executeFunction}} |
| |
|
| \begin{enumerate} |
\begin{enumerate} |
| \item (C $\rightarrow$ S) Arguments are sent in binary encoded form. |
\item (C $\rightarrow$ S) Arguments are sent in binary encoded form. |
| \item (C $\rightarrow$ S) The number of aruments is sent as {\sl Integer32}. |
\item (C $\rightarrow$ S) The number of arguments is sent as {\sl Integer32}. |
| \item (C $\rightarrow$ S) A function name is sent as {\sl Cstring}. |
\item (C $\rightarrow$ S) A function name is sent as {\sl Cstring}. |
| \item (C $\rightarrow$ S) A command {\tt SM\_executeFunction} is sent. |
\item (C $\rightarrow$ S) A command {\tt SM\_executeFunction} is sent. |
| \item The result is pushed to the stack. |
\item The result is pushed to the stack. |
| Line 709 conversion are necessary. |
|
| Line 766 conversion are necessary. |
|
| \fbox{Executing functions on a server (II) --- {\tt SM\_executeString}} |
\fbox{Executing functions on a server (II) --- {\tt SM\_executeString}} |
| |
|
| \begin{enumerate} |
\begin{enumerate} |
| \item (C $\rightarrow$ S) A character string represeting a request in a server's |
\item (C $\rightarrow$ S) A character string representing a request in a server's |
| user language is sent as {\sl Cstring}. |
user language is sent as {\sl Cstring}. |
| \item (C $\rightarrow$ S) A command {\tt SM\_executeString} is sent. |
\item (C $\rightarrow$ S) A command {\tt SM\_executeString} is sent. |
| \item The result is pushed to the stack. |
\item The result is pushed to the stack. |
| Line 732 enough to read the result. |
|
| Line 789 enough to read the result. |
|
| %\item 1989--1992 |
%\item 1989--1992 |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Reconfigured as Risa/Asir with a parser and Boehm's conservative GC [Boehm] |
%\item Reconfigured as Risa/Asir with a parser and Boehm's conservative GC |
| % |
% |
| %\item Developed univariate and multivariate factorizers over the rationals. |
%\item Developed univariate and multivariate factorizers over the rationals. |
| %\end{itemize} |
%\end{itemize} |
| Line 744 enough to read the result. |
|
| Line 801 enough to read the result. |
|
| % |
% |
| %Written in user language $\Rightarrow$ rewritten in C (by Murao) |
%Written in user language $\Rightarrow$ rewritten in C (by Murao) |
| % |
% |
| %$\Rightarrow$ trace lifting [Traverso] |
%$\Rightarrow$ trace lifting [TRAV88] |
| % |
% |
| %\item Univariate factorization over algebraic number fields |
%\item Univariate factorization over algebraic number fields |
| % |
% |
| Line 763 enough to read the result. |
|
| Line 820 enough to read the result. |
|
| %\item Primary ideal decomposition |
%\item Primary ideal decomposition |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Shimoyama-Yokoyama algorithm [SY] |
%\item Shimoyama-Yokoyama algorithm [SHYO96] |
| %\end{itemize} |
%\end{itemize} |
| % |
% |
| %\item Improvement of Buchberger algorithm |
%\item Improvement of Buchberger algorithm |
| Line 775 enough to read the result. |
|
| Line 832 enough to read the result. |
|
| % |
% |
| %\item Modular change of ordering, Modular RUR |
%\item Modular change of ordering, Modular RUR |
| % |
% |
| %These are joint works with Yokoyama [NY] |
%These are joint works with Yokoyama [NOYO99] |
| %\end{itemize} |
%\end{itemize} |
| %\end{itemize} |
%\end{itemize} |
| % |
% |
| Line 785 enough to read the result. |
|
| Line 842 enough to read the result. |
|
| %\fbox{History of development : 1996-1998} |
%\fbox{History of development : 1996-1998} |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Distributed compuatation |
%\item Distributed computation |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item A prototype of OpenXM |
%\item A prototype of OpenXM |
| Line 794 enough to read the result. |
|
| Line 851 enough to read the result. |
|
| %\item Improvement of Buchberger algorithm |
%\item Improvement of Buchberger algorithm |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Content reduction during nomal form computation |
%\item Content reduction during normal form computation |
| % |
% |
| %\item Its parallelization by the above facility |
%\item Its parallelization by the above facility |
| % |
% |
| %\item Computation of odd order replicable functions [Noro] |
%\item Computation of odd order replicable functions [NORO97] |
| % |
% |
| %Risa/Asir : it took 5days to compute a DRL basis ({\it McKay}) |
%Risa/Asir : it took 5days to compute a DRL basis ({\it McKay}) |
| % |
% |
| Line 827 enough to read the result. |
|
| Line 884 enough to read the result. |
|
| %\begin{itemize} |
%\begin{itemize} |
| %\item OpenXM specification was written by Noro and Takayama |
%\item OpenXM specification was written by Noro and Takayama |
| % |
% |
| %Borrowed idea on encoding, phrase book from OpenMath [OpenMath] |
%Borrowed idea on encoding, phrase book from OpenMath |
| % |
% |
| %\item Functions for distributed computation were rewritten |
%\item Functions for distributed computation were rewritten |
| %\end{itemize} |
%\end{itemize} |
| Line 843 enough to read the result. |
|
| Line 900 enough to read the result. |
|
| %\item Test implementation of $F_4$ |
%\item Test implementation of $F_4$ |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Implemented according to [Faug\`ere] |
%\item Implemented according to [FAUG99] |
| % |
% |
| %\item Over $GF(p)$ : pretty good |
%\item Over $GF(p)$ : pretty good |
| % |
% |
| Line 860 enough to read the result. |
|
| Line 917 enough to read the result. |
|
| %\begin{itemize} |
%\begin{itemize} |
| %\item Noro moved from Fujitsu to Kobe university |
%\item Noro moved from Fujitsu to Kobe university |
| % |
% |
| %Started Kobe branch [Risa/Asir] |
%Started Kobe branch |
| %\end{itemize} |
%\end{itemize} |
| % |
% |
| %\item OpenXM [OpenXM] |
%\item OpenXM |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Revising the specification : OX-RFC100, 101, (102) |
%\item Revising the specification : OX-RFC100, 101, (102) |
| Line 874 enough to read the result. |
|
| Line 931 enough to read the result. |
|
| %\item Weyl algebra |
%\item Weyl algebra |
| % |
% |
| %\begin{itemize} |
%\begin{itemize} |
| %\item Buchberger algorithm [Takayama] |
%\item Buchberger algorithm [TAKA90] |
| % |
% |
| %\item $b$-function computation [Oaku] |
%\item $b$-function computation [OAKU97] |
| % |
% |
| %Minimal polynomial computation by modular method |
%Minimal polynomial computation by modular method |
| %\end{itemize} |
%\end{itemize} |