[BACK]Return to dagb-noro.tex CVS log [TXT][DIR] Up to [local] / OpenXM / doc / Papers

Diff for /OpenXM/doc/Papers/Attic/dagb-noro.tex between version 1.5 and 1.9

version 1.5, 2001/10/09 01:44:21 version 1.9, 2001/10/11 08:43:08
Line 1 
Line 1 
 % $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.8 2001/10/11 01:34:42 noro Exp $
 \setlength{\parskip}{10pt}  \setlength{\parskip}{10pt}
   
 \begin{slide}{}  \begin{slide}{}
Line 7 
Line 7 
 \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    & 967  & 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}

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.9

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>