{
  "aliases": null,
  "backlinks": [
    {
      "field": "uses",
      "target": "5ZKP6E4JCE"
    },
    {
      "field": "defines",
      "target": "YC90FXM4SA"
    }
  ],
  "body": "\n## Summary\n\nBuchberger's algorithm turns a finite set of generators of an ideal of a polynomial ring into a [[Gröbner basis|C83KPT47R0]] of the same ideal.\nIt repeatedly forms S-polynomials of pairs of elements, divides them by the current set with the [[multivariate division algorithm|T8EN3CAEQF]], and adds the nonzero remainders.\nIt was introduced by Bruno Buchberger, who also named Gröbner bases after his advisor Wolfgang Gröbner.\nIt plays the role for polynomial systems that Gaussian elimination plays for linear systems and the Euclidean algorithm plays for polynomials in one variable.\n\n## Explanations\n\n### L1 human\n\nTwo polynomials can combine so that their leading terms cancel, and what is left may have a new leading term that the generators do not see.\nThe S-polynomial of two generators is the simplest such combination.\nBuchberger's algorithm computes all these combinations, reduces them by the current generators, and adds whatever does not reduce to zero.\nEach addition makes the ideal of leading terms bigger, and this cannot go on forever, so the algorithm stops.\nAt the end, all S-polynomials reduce to zero, and this is exactly the test for a Gröbner basis.\n",
  "commit": "547b6eddb8f2feb8d579f2d633d22a27b7e132fc",
  "front": {
    "kind": "concept",
    "msc": [
      "13P10",
      "68W30"
    ],
    "name": "Buchberger's algorithm",
    "same_as": {
      "wikidata": "Q997962",
      "wikipedia": "Buchberger's algorithm"
    },
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Buchberger's_algorithm"
      }
    ],
    "tag": "4RH1D40WG1"
  },
  "kind": "concept",
  "link": "https://math2.tamnd.com/node/4RH1D40WG1/",
  "links": null,
  "markdown": "https://math2.tamnd.com/node/4RH1D40WG1.md",
  "msc": [
    "13P10",
    "68W30"
  ],
  "name": "Buchberger's algorithm",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/4RH/4RH1D40WG1.md",
  "status": null,
  "tag": "4RH1D40WG1",
  "uri": "m2://4RH1D40WG1",
  "url": "https://math2.tamnd.com/wiki/buchbergers-algorithm/",
  "writing": {
    "tag": "4RH1D40WG1",
    "kind": "concept",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
