Buchberger's algorithm: Difference between revisions

Content deleted Content added
Fixed link.
m Algorithm: {{math}} {{var}} {{sfrac}}
Line 7:
 
== Algorithm ==
A crude version of this algorithm to find a basis for an ideal ''{{mvar|I''}} of a polynomial ring ''R'' proceeds as follows:
 
:'''Input''' A set of polynomials ''F'' that generates ''{{mvar|I''}}
:'''Output''' A [[Gröbner basis]] ''G'' for ''{{mvar|I''}}
:# ''G'' := ''F''
:# For every ''f<sub>i</sub>'', ''f<sub>j</sub>'' in ''G'', denote by ''g<sub>i</sub>'' the leading term of ''f<sub>i</sub>'' with respect to the given ordering, and by ''a<sub>ij</sub>'' the [[least common multiple]] of ''g<sub>i</sub>'' and ''g<sub>j</sub>''.
:# Choose two polynomials in ''G'' and let {{math|1=''S''<sub>''ij''</sub> = ({{sfrac|''a''<sub>''ij''</sub> /| ''g''<sub>''i''{{var|I}}</sub>)}} ''f''<sub>''i''{{var|I}}</sub> − ({{sfrac|''a''<sub>''ij''</sub> /| ''g''<sub>''j''</sub>)}} ''f''<sub>''j''</sub>}} ''(Note that the leading terms here will cancel by construction)''.
:# Reduce ''S''<sub>''ij''</sub>, with the [[multivariate division algorithm]] relative to the set ''G'' until the result is not further reducible. If the result is non-zero, add it to ''G''.
:# Repeat steps 2-4 until all possible pairs are considered, including those involving the new polynomials added in step 4.
Line 20:
The polynomial ''S''<sub>''ij''</sub> is commonly referred to as the ''S''-polynomial, where ''S'' refers to ''subtraction'' (Buchberger) or ''[[Syzygy (mathematics)|Syzygy]]'' (others). The pair of polynomials with which it is associated is commonly referred to as [[critical pair (logic)|critical pair]].
 
There are numerous ways to improve this algorithm beyond what has been stated above. For example, one could reduce all the new elements of ''F'' relative to each other before adding them. If the leading terms of ''f<sub>i</sub>'' and ''f<sub>j</sub>'' share no variables in common, then ''S<sub>ij</sub>'' will ''always'' reduce to 0 (if we use only {{mvar|f<sub>i</sub>}} and {{mvar|f<sub>j</sub>}} for reduction), so we needn't calculate it at all.
 
The algorithm terminates because it is consistently increasing the size of the monomial ideal generated by the leading terms of our set ''F'', and [[Dickson's lemma]] (or the [[Hilbert basis theorem]]) guarantees that any such ascending chain must eventually become constant.