version 1.8, 2001/11/30 02:08:46 |
version 1.9, 2001/12/28 06:06:15 |
|
|
% $OpenXM: OpenXM/doc/Papers/dag-noro-proc.tex,v 1.7 2001/11/30 02:02:09 noro Exp $ |
% $OpenXM: OpenXM/doc/Papers/dag-noro-proc.tex,v 1.8 2001/11/30 02:08:46 noro Exp $ |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
% 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 213 Groebner basis computation over {\bf Q}, which are eas |
|
Line 213 Groebner basis computation over {\bf Q}, which are eas |
|
implemented but may not be well known. |
implemented but may not be well known. |
We use the following notations. |
We use the following notations. |
\begin{description} |
\begin{description} |
\item $Id(F)$ : a polynomial ideal generated by a polynomial set $F$ |
\item $<$ : a term order in the set of monomials. It is a total order such that |
\item $\phi_p$ : the canonical projection from ${\bf Z}$ onto $GF(p)$ |
|
\item $HT(f)$ : the head term of a polynomial with respect to a term order |
$\forall t, 1 \le t$ and $\forall s, t, u, s<t \Rightarrow us<ut$. |
\item $HC(f)$ : the head coefficient of a polynomial with respect to a term order |
\item $Id(F)$ : a polynomial ideal generated by a polynomial set $F$. |
|
\item $HT(f)$ : the head term of a polynomial with respect to a term order. |
|
\item $HC(f)$ : the head coefficient of a polynomial with respect to a term order. |
|
\item $T(f)$ : terms with non zero coefficients in $f$. |
|
\item $Spoly(f,g)$ : the S-polynomial of $\{f,g\}$ |
|
|
|
$Spoly(f,g) = T_{f,g}/HT(f)\cdot f/HC(f) -T_{f,g}/HT(g)\cdot g/HC(g)$, where |
|
$T_{f,g} = LCM(HT(f),HT(g))$. |
|
\item $\phi_p$ : the canonical projection from ${\bf Z}$ onto $GF(p)$. |
\end{description} |
\end{description} |
|
|
|
\subsection{Groebner basis computation and its improvements} |
|
|
|
A Groebner basis of an ideal $Id(F)$ can be computed by the Buchberger |
|
algorithm. The key oeration in the algorithm is the following |
|
division by a polynomial set. |
|
\begin{tabbing} |
|
while \= $\exists g \in G$, $\exists t \in T(f)$ such that $HT(g)|t$ do\\ |
|
\> $f \leftarrow f - t/HT(g) \cdot c/HC(g) \cdot g$, \quad |
|
where $c$ is the coeffcient of $t$ in $f$ |
|
\end{tabbing} |
|
This division terminates for any term order. |
|
With this division, we can show the most primitive version of the |
|
Buchberger algorithm. |
|
\begin{tabbing} |
|
Input : a finite polynomial set $F$\\ |
|
Output : a Groebner basis $G$ of $Id(F)$ with respect to a term order $<$\\ |
|
$G \leftarrow F$; \quad $D \leftarrow \{\{f,g\}| f, g \in G, f \neq g \}$\\ |
|
while \= $D \neq \emptyset$ do \\ |
|
\> $\{f,g\} \leftarrow$ an element of $D$; \quad |
|
$D \leftarrow D \setminus \{P\}$\\ |
|
\> $R \leftarrow$ a remainder of $Spoly(f,g)$ on division by $G$\\ |
|
\> if $R \neq 0$ then $D \leftarrow D \cup \{\{f,R\}| f \in G\}$; \quad |
|
$G \leftarrow G \cup \{R\}$\\ |
|
end do\\ |
|
return G |
|
\end{tabbing} |
|
Though this algorithm gives a Groebner basis of $Id(F)$, |
|
it is not practical at all. We need lots of techniques to make |
|
it practical. The following are major improvements: |
|
\begin{itemize} |
|
\item Useless pair detection |
|
|
|
We don't have to process all the pairs in $D$ and several useful |
|
criteria for detecting useless pairs were proposed. |
|
|
|
\item Selection strategy |
|
|
|
The selection of $\{f,g\}$ greatly affects the subsequent computation. |
|
The typical strategies are the normal startegy and the sugar strategy. |
|
The latter was proposed for efficient computation under a non |
|
degree-compatible order. |
|
|
|
\item Modular methods |
|
|
|
Even if we apply several criteria, it is difficult to detect all pairs |
|
whose S-polynomials are reduced to zero, and the cost to process them |
|
often occupies a major part in the whole computation. The trace algorithms |
|
were proposed to reduce such cost. This will be explained in more detail |
|
in Section \ref{gbhomo}. |
|
|
|
\item Change of ordering |
|
|
|
For elimination, we need a Groebner basis with respect to a non |
|
degree-compatible order, but it is often hard to compute it by |
|
the Buchberger algorithm. If the ideal is zero dimensional, we |
|
can apply a change of ordering algorithm for a Groebner basis |
|
with respect to any order and we can obtain a Groebner basis |
|
with respect to a desired order. |
|
|
|
\end{itemize} |
|
By implementing these techniques, one can obtain Groebner bases for |
|
wider range of inputs. Nevertheless there are still intractable |
|
problems with these classical tools. In the subsequent sections |
|
we show several methods for further improvements. |
|
|
\subsection{Combination of homogenization and trace lifting} |
\subsection{Combination of homogenization and trace lifting} |
\label{gbhomo} |
\label{gbhomo} |