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
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.
Algorithms for several new noncommutative involutive divisions are given, including strong; weak; global and local divisions.
An algorithm for computing a noncommutative Involutive Basis is given. When used with one of the aforementioned involutive divisions, it is shown that this algorithm returns a noncommutative Gröbner Basis on termination.
An algorithm for a noncommutative Gröbner Walk is given, in the case of conversion between two harmonious monomial orderings. It is shown that this algorithm generalises to give an algorithm for performing a noncommutative Involutive Walk, again in the case of conversion between two harmonious monomial orderings.
Two new properties of commutative involutive divisions are introduced (stability and extendibility), respectively ensuring the termination of the Involutive Basis algorithm and the applicability (under certain conditions) of homogeneous methods of computing Involutive Bases.
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.
generated by GAPDoc2HTML