| 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} |