Buchbergers algorithm for computing Groebner Basis
Polynomial bases are a generalization of systems of linear equations. If we have a system of linear equations, say -
In Gaussian elimination, we take a system of linear equations and convert them to a basis where the solution becomes obvious.
A framework is provided for defining polynomial ideals. The various objects that are a part of this solution form a hierarchical structure:
PolynomialBasis -> Polynomial -> Monomial
The code starts with the building blocks like LCM, polynomial division, S-polynomials and builds up to Groebner basis. Some applications of Groebner basis are also provided.
You can execute the code via Program.cs.
All algorithms are based on the book - Ideals, Varieties and Algorithms by Cox, Little and O'Shea
In comments and documentation, "CLO" referes to this book (Cox, Little and O'Shea). I wrote a blog on this topic providing some background.