1 | initial version |

Check if it is in Sage's source code:

```
search_doc('buchberger')
```

This reveals that there is a file

```
$SAGE_ROOT/devel/sage/sage/rings/polynomial/toy_buchberger.py
```

(where $SAGE_ROOT is your Sage root directory).

In this file there is a function `buchberger`

and a function `buchberger_improved`

.

2 | Added "??" instructions; added links to online doc and online source code. |

Check if it is in Sage's source code:

```
search_doc('buchberger')
```

This reveals that there is a file

```
$SAGE_ROOT/devel/sage/sage/rings/polynomial/toy_buchberger.py
```

(where $SAGE_ROOT is your Sage root directory).

In this file there is a function `buchberger`

and a function `buchberger_improved`

.

To get the code for Buchberger's algorithm, type

```
sage: from sage.rings.polynomial.toy_buchberger import buchberger
sage: buchberger??
```

It uses a function to compute the S-polynomial of two polynomials, whose source code you can see by typing

```
sage: from sage.rings.polynomial.toy_buchberger import spol
sage: spol??
```

See also the online documentation for toy_buchberger.

You can also browse the source code online at github. See toy_buchberger there.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.