Goto Chapter: Top 1 2 3 4 5 6 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

1 Introduction
 1.1 History

1 Introduction

The IBNP package provides methods for computing an involutive (Gröbner) basis \(B\) for an ideal \(J\) over a polynomial ring \(\mathbb{R}\) in both the commutative and noncommutative cases. Secondly, methods are provided to involutively reduce a given polynomial to its normal form in \(\mathbb{R}/J\).

This package was started using GAP 4.13.1 and first released with GAP 4.15.0.

The package is loaded with the command


gap> LoadPackage( "ibnp" ); 

The package may be obtained as a compressed .tar file IBNP-0.16.tar.gz from the GitHub release site: https://github.com/gap-packages/ibnp/releases/tag/v0.16. The package also has a GitHub repository at: https://github.com/gap-packages/ibnp.

Once the package is loaded, the manual doc/manual.pdf can be found in the documentation folder. The html versions, with or without MathJax, may be rebuilt as follows:


gap> ReadPackage( "ibnp", "makedoc.g" ); 

It is possible to check that the package has been installed correctly by running the test files (this terminates the GAP session):


gap> TestPackage( "ibnp" );
Architecture: . . . . . 
testing: . . . . . 
. . . 
#I  No errors detected while testing

1.1 History

The theoretical basis behind this package is the Ph.D. thesis "Noncommutative Involutive Bases" of Gareth Evans in 2005 [Eva05]. (The main concepts and results may also be found in the papers [Eva70] and [EW07].) We quote here the summary from that thesis.

The theory of Gröbner Bases originated in the work of Buchberger [Buc98] and is now considered to be one of the most important and useful areas of symbolic computation. A great deal of effort has been put into improving Buchberger's algorithm for computing a Gröbner Basis, and indeed in finding alternative methods of computing Gröbner Bases. Two of these methods include the Gröbner Walk method [AGK97] and the computation of Involutive Bases [ZB96].

By the mid 1980's, Buchberger's work had been generalised for noncommutative polynomial rings by Bergman [Ber78] and Mora [Mor86]. This thesis provides the corresponding generalisation for Involutive Bases and (to a lesser extent) the Gröbner Walk, with the main results being as follows.

Source code for an initial implementation of an algorithm to compute noncommutative Involutive Bases is provided in Appendix B. This source code, written using ANSI C and a series of libraries (AlgLib) provided by MSSRC forms part of a larger collection of programs providing examples for this thesis, including implementations of the commutative and noncommutative Gröbner Basis algorithms [Buc98], [Mor86]; the commutative Involutive Basis algorithm for the Pommaret and Janet involutive divisions [ZB96]; and the Knuth-Bendix critical pairs completion algorithm for monoid rewrite systems [KB04].

The implementations described in the last paragraph formed a package Involutive in 2005. This was based on libraries developed by the Multidisciplinary Software Systems Research Corporation (MSSRC) which apparently no longer exists. This software was provided for the research by Larry Lambe who was an Honorary Professor in the Mathematics Department at Bangor at that time. (For an example of his work, see [LR97].)

It has long been our intention to make these algorithms available to the wider symbolic computation community, and this GAP package is the result. Involutive Bases are constructed, but Gröbner Walks will have to wait until a later version. In place of the AlgLib library functions we use the noncommutative polynomial operations provided by the GBNP [CK24] package.

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 Bib Ind

generated by GAPDoc2HTML