6

It is said in many places (for example, on the Wikipedia article for Buchberger's algorithm) that Buchberger's algorithm to find Groebner basis is a generalization of Euclid's GCD algorithm.

This is not obvious to me. Just think about two polynomials $f(x)=a_n x^n + \cdots a_0$, and $g(x)=b_m x^m + \cdots b_0$, with $n>m$. Start by finding the subtraction polynomial $S(f,g)$, here I do not see a clue of Euclid's algoritm and what does it have to do with Euclid's GCD algorithm.

Please do not respond that both Euclid and Buchberger produce the same result. I already know that. I am questioning about how one algorithm (Buchberger's) reduce to the other (Euclid's) for univariate polynomials.

Any clue?

Thanks.

  • 4
    Have you tried to compute $S(f,g)$ for univariate polynomials $f,g$? If yes, then what you get? – user26857 Sep 04 '15 at 19:43
  • Is (your version of) Buchberger's algorithm deterministic? Does it tell you how to perform divisions, and what two polynomials to pick for computing the S-polynomial? – darij grinberg Sep 04 '15 at 19:58
  • @user26857 Yes. $s(f,g)=\frac{x^n}{a_n x^n} f(x) - \frac{x^n}{b_m x^m} g(x)$. A complicated polynomial which in no way help me understand Euclid division. – Herman Jaramillo Sep 04 '15 at 23:10
  • @darijgrinberg Yes , it is deterministic. It the same in the Wikipedia website above. Here again: https://en.wikipedia.org/wiki/Buchberger's_algorithm – Herman Jaramillo Sep 04 '15 at 23:13
  • 3
    Your $S$-poly is not complicated at all! It does exactly what you do when start a division between two polynomials with coefficients in a field. (You could try an example.) – user26857 Sep 04 '15 at 23:19
  • The Wikipedia description involves the word "Choose" and links to the "Multivariate division algorithm" which might and might not have a unique result. – darij grinberg Sep 04 '15 at 23:19
  • @darijgrinberg I see your point. There is no a unique Grobner basis through this algorithm. However for the example that I listed, it is deterministic. We are talking about $\mathbb{K}[x]$ and just two polynomials. – Herman Jaramillo Sep 04 '15 at 23:29
  • @HermanJaramillo: Maybe it is (I guess the final result is deterministic, at least if you reduce it), maybe not. I don't see an immediate way to see that the algorithm really simulates Euclidean division in some sense (without taking stupid detours) unless you perform it strategically (i.e., always reduce the second-to-last polynomial w.r.t. the last one until it has smaller degree). – darij grinberg Sep 04 '15 at 23:34
  • @darijgrinberg It got to be deterministic since the answer is the GCD(f,g) which is unique. (well.....up to a multiplicative constant). – Herman Jaramillo Sep 04 '15 at 23:39
  • "Deterministic" doesn't mean that the answer is unique; it means that no choices happen during the performance of the algorithm. – darij grinberg Sep 04 '15 at 23:40
  • @darijgrinberg You are correct, but if there is only one couple to choose from, it is deterministic. The Euclid algorithm is deterministic. – Herman Jaramillo Sep 04 '15 at 23:41
  • @user26857 : I think I see your point. I will try to prove that the first step on the Euclid division is the computation of $S(f,g)$. This is what I have so far: The first quotient is $\frac{\text{LT}(f)}{\text{LT}{(g)}}$ The next step is the subtraction $f(x) - \frac{LT(f)}{LT(g)} g = \frac{ \text{LT}(g) f - \text{LT}{(f)} g}{\text{LT}(g)}$. Now if $L= \text{LCM}[\text{LT}(f), \text{LT}(g)]$, So $L= a \text{LT}(f)$, and So $L= b \text{LT}(g)$, and $f(x) - \frac{\text{LT}(f)}{\text{LT}(g)} g = \frac{(L/b) f - (L/a)g}{(L/b)}$ hmmm – Herman Jaramillo Sep 05 '15 at 00:04

1 Answers1

6

Thanks to @user26857, for his great hint.

Assume \begin{equation} f(x) = a_n x^n + a_{n-1} x^{n-1} + \cdots + a_0 , \quad g(x) = b_m x^m + b_{n-1} x^{n-1} + \cdots + b_0 , \end{equation} and $n \ge m$, $a_n \ne 0 \ne b_m$. We have $\text{LM}(f)=x^n$ and $\text{LM}(g)=x^m$. We call $L= \text{LCM}[ \, \text{LM}(f), \text{LM}(g)] = x^{n}$. Then by definition \begin{eqnarray} S(f,g) &=& \frac{L}{\text{LT}(f)} f - \frac{L}{\text{LT}(g)} g \\ &=& \frac{x^n}{a_n x^n} f - \frac{x^n}{b_m x^m} g \\ &=& \frac{1}{a_n} \left ( f - \frac{ a_n x_n}{b_m x^m}g \right) \\ &=& \frac{1}{a_n} \left (f - \frac{\text{LT}(f)}{\text{LT}(g)} g \right ) \end{eqnarray} On the other hand the first step on the Euclidean algorithm is the division of $f$ by $g$. This step is achieved by finding the remainder \begin{equation} r_1 = f - \frac{\text{LT}(f)}{{\text{LT}(g)}} g . \end{equation} Setting the $1/a_n$ aside (up to a multiplication by scalar any non-zero multiple of the GCD$(f,g)$ is also Gr\"{o}bner basis member) we have that $S(f,g)=r_1$. If $\text{deg}(r_1) < \text{deg}(f)$ we are done with this remainder, otherwise we keep reducing it until $\text{deg}(r_1) < \text{deg}(f)$.

The Buchberger algorithm starts with $G=\{f, g \}$, and then, if $r_1 \ne 0$, add (append) $r$ to $G$. That is $G = \{f, g , r_1 \}$. The next step is to reduce $r_1$ with respect to $G$. Since $\text{deg}(r_1) < \text{deg}(f)$, we only need to reduce $r$ with respect to $g$. That is, we divide $r$ by $g$, and keep doing this until $r_n=0$. (We do not prove here that the algorithm finishes. It does. That is not the purpose of this exercise). Then $G=\{f, r_1, \dots, r_{n-1} \}$. We find that $\text{GCD}(f,g)=r_{n-1}$, and it is found as if we were doing Euclid's algorithm instead of Buchberger's algorithm.

That $G$ can be reduced to $G=\{r_{n-1} \}= \{ \text{GCD}(f,g)\}$ is another story.

user26857
  • 53,190