| version 1.2, 2001/11/19 10:00:02 |
version 1.3, 2001/11/26 08:41:14 |
|
|
| % $OpenXM: OpenXM/doc/Papers/dag-noro-proc.tex,v 1.1 2001/11/19 01:02:30 noro Exp $ |
% $OpenXM$ |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % This is a sample input file for your contribution to a multi- |
% This is a sample input file for your contribution to a multi- |
| % author book to be published by Springer Verlag. |
% author book to be published by Springer Verlag. |
| Line 335 Table \ref{gbq}, $C_7$ and $McKay$ can be computed by |
|
| Line 335 Table \ref{gbq}, $C_7$ and $McKay$ can be computed by |
|
| algorithm with the methods described in Section \ref{gbtech}. It is |
algorithm with the methods described in Section \ref{gbtech}. It is |
| obvious that $F_4$ implementation in Risa/Asir over {\bf Q} is too |
obvious that $F_4$ implementation in Risa/Asir over {\bf Q} is too |
| immature. Nevertheless the timing of $McKay$ is greatly reduced. |
immature. Nevertheless the timing of $McKay$ is greatly reduced. |
| Why is $F_4$ efficient in this case? The answer is in the right |
Fig. \ref{f4vsbuch} explains why $F_4$ is efficient in this case. |
| half of Fig. \ref{f4vsbuch}. During processing S-polynomials of degree |
The figure shows that |
| 16, the Buchberger algorithm produces intermediate polynomials with |
the Buchberger algorithm produces normal forms with |
| huge coefficients, but if we compute normal forms of these polynomials |
huge coefficients for S-polynomals after the 250-th one, |
| by using all subsequently generated basis elements, then their |
which are the computations in degree 16. |
| coefficients will be reduced after removing contents. As $F_4$ |
However, we know that the reduced basis elements have |
| algorithm automatically produces the reduced basis elements, the |
much smaller coefficients after removing contents. |
| degree 16 computation is quite easy in $F_4$. |
As $F_4$ algorithm automatically produces the reduced ones, |
| |
the degree 16 computation is quite easy in $F_4$. |
| |
|
| |
|
| \begin{table}[hbtp] |
\begin{table}[hbtp] |
| \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 |
| Line 378 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| Line 378 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| \begin{figure}[hbtp] |
\begin{figure}[hbtp] |
| \begin{center} |
\begin{center} |
| \epsfxsize=12cm |
\epsfxsize=12cm |
| \epsffile{../compalg/ps/blenall.ps} |
\epsffile{blenall.ps} |
| \end{center} |
\end{center} |
| \caption{Maximal coefficient bit length of intermediate bases} |
\caption{Maximal coefficient bit length of intermediate bases} |
| \label{f4vsbuch} |
\label{f4vsbuch} |
| Line 386 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| Line 386 FGb(estimated) & 8 &11 & 0.6 & 5 & 10 \\ \hline |
|
| |
|
| \subsection{Polynomial factorization} |
\subsection{Polynomial factorization} |
| |
|
| Table \ref{unifac} shows timing data for univariate factorization over |
%Table \ref{unifac} shows timing data for univariate factorization over |
| {\bf Q}. $N_{i,j}$ is an irreducible polynomial which are hard to |
%{\bf Q}. $N_{i,j}$ is an irreducible polynomial which are hard to |
| factor by the classical algorithm. $N_{i,j}$ is a norm of a polynomial |
%factor by the classical algorithm. $N_{i,j}$ is a norm of a polynomial |
| and $\deg(N_i) = i$ with $j$ modular factors. Risa/Asir is |
%and $\deg(N_i) = i$ with $j$ modular factors. Risa/Asir is |
| disadvantageous in factoring polynomials of this type because the |
%disadvantageous in factoring polynomials of this type because the |
| algorithm used in Risa/Asir has exponential complexity. In contrast, |
%algorithm used in Risa/Asir has exponential complexity. In contrast, |
| CoCoA 4\cite{COCOA} and NTL-5.2\cite{NTL} show nice performances |
%CoCoA 4\cite{COCOA} and NTL-5.2\cite{NTL} show nice performances |
| because they implement recently developed algorithms. |
%because they implement recently developed algorithms. |
| |
% |
| |
%\begin{table}[hbtp] |
| |
%\begin{center} |
| |
%\begin{tabular}{|c||c|c|c|c|} \hline |
| |
% & $N_{105,23}$ & $N_{120,20}$ & $N_{168,24}$ & $N_{210,54}$ \\ \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} |
| |
%\caption{Univariate factorization over {\bf Q}} |
| |
%\label{unifac} |
| |
%\end{table} |
| |
|
| \begin{table}[hbtp] |
|
| \begin{center} |
|
| \begin{tabular}{|c||c|c|c|c|} \hline |
|
| & $N_{105,23}$ & $N_{120,20}$ & $N_{168,24}$ & $N_{210,54}$ \\ \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} |
|
| \caption{Univariate factorization over {\bf Q}} |
|
| \label{unifac} |
|
| \end{table} |
|
| |
|
| Table \ref{multifac} shows timing data for multivariate |
Table \ref{multifac} shows timing data for multivariate |
| factorization over {\bf Q}. |
factorization over {\bf Q}. |
| $W_{i,j,k}$ is a product of three multivariate polynomials |
$W_{i,j,k}$ is a product of three multivariate polynomials |
| Line 436 Maple 7& 0.5 & 18 & 967 & 48 & 1.3 \\ \hline |
|
| Line 436 Maple 7& 0.5 & 18 & 967 & 48 & 1.3 \\ \hline |
|
| \label{multifac} |
\label{multifac} |
| \end{table} |
\end{table} |
| |
|
| |
As to univariate factorization over {\bf Q}, |
| |
the univariate factorizer implements only classical |
| |
algorithms and its behaviour is what one expects, |
| |
that is, it shows average performance in cases |
| |
where there are little eraneous factors, but |
| |
shows poor performance for hard to factor polynomials. |
| |
|
| \section{OpenXM and Risa/Asir OpenXM interfaces} |
\section{OpenXM and Risa/Asir OpenXM interfaces} |
| |
|
| \subsection{OpenXM overview} |
\subsection{OpenXM overview} |
| Line 547 def gbcheck(B,V,O,Procs) { |
|
| Line 554 def gbcheck(B,V,O,Procs) { |
|
| Asir OpenXM library {\tt libasir.a} includes functions simulating the |
Asir OpenXM library {\tt libasir.a} includes functions simulating the |
| stack machine commands supported in {\tt ox\_asir}. By linking {\tt |
stack machine commands supported in {\tt ox\_asir}. By linking {\tt |
| libasir.a} an application can use the same functions as in {\tt |
libasir.a} an application can use the same functions as in {\tt |
| ox\_asir} without accessing to {\tt ox\_asir} via TCP/IP. |
ox\_asir} without accessing to {\tt ox\_asir} via TCP/IP. There is |
| |
also a stack and library functions to manipulate it. In order to make |
| |
full use of this interface, one has to prepare conversion functions |
| |
between CMO and the data structures proper to the application. |
| |
A function {\tt asir\_ox\_pop\_string()} is provided to convert |
| |
CMO to a human readable form, which may be sufficient for a simple |
| |
use of this interface. |
| |
|
| \section{Concluding remarks} |
\section{Concluding remarks} |
| We have shown the current status of Risa/Asir and its OpenXM |
We have shown the current status of Risa/Asir and its OpenXM |