This package, named GBNP for Gröbner Bases for Non-commutative Polynomials, is intended for computing in (associative) non-commutative algebras with a finite presentation. Starting from a free algebra \(A\) on a finite number of generating variables, the reader can specify a finite set \(G\) of polynomials in these variables, in order to study the quotient algebra of \(A\) by the (2-sided) ideal of \(A\) generated by \(G\).
This documentation gives a short description of the mathematical content in Chapter 2, explains the functions of the package in Chapter 3, and provides more than twenty four worked out examples in Appendix A. It is available as an HTML document at https://gap-packages.github.io/gbnp/doc/chap0.html.
To install GBNP, first download GBNP-1.1.0.tar.gz
from https://gap-packages.github.io/gbnp/, then unpack GBNP-1.1.0.tar.gz
in the pkg
subdirectory of your GAP installation (or in the pkg
subdirectory of any other GAP root directory, for example one added with the -l
argument) with the following command: tar -xvzf GBNP-1.1.0.tar.gz
.
GBNP is then loaded with the GAP command
gap> LoadPackage( "GBNP" );
If you wish to compute a Gröbner basis, create a list of NPs (non-commutative polynomials in NP format), as described in Section 2.1. This can be done either directly or by use of the transition functions described in Section 3.1. To run the standard algorithm use the functions from Section 3.4. With these functions, you can try and find a Gröbner basis. The word try is included because the algorithm for computing Gröbner bases is not guaranteed to terminate. Printing issues for polynomials in NP format are discussed in Section 3.2. If the Gröbner basis is found and the dimension of the quotient algebra \(Q\) (see Section 2.9) is finite, you can find a basis of monomials for \(Q\) with the functions in Section 3.5. For a more advanced analysis of \(Q\), such as a proof of finite or infinite dimensionality, or for determining its growth or its partial Hilbert series, use the functions from Section 3.6 .
There are three variants of the Gröbner basis algorithm, the truncated version, the trace version, and the module version. In the (weighted) homogeneous case (described in Section 2.6), the truncated version, given by the functions described in Section 3.8, computes the part of a Gröbner basis up to an indicated weight. The trace version (described in Section 2.5), given by the functions described in Section 3.7, computes an expression of the polynomials of the Gröbner basis found in terms of the original generators. The module version (described in Sections 2.2, 2.7, and 2.8), given by the functions described in Section 3.9, computes a Gröbner basis for a submodule of a free \(Q\)-module of finite rank.
Read the example files in Chapter A for inspiration. The source of the files can be perused for auxiliary functions, which are often used in the main functions but not deemed necessary for a first time user.
The reports [Coh07], [Kro03], and [Kno04] can be downloaded from the web at these addresses:
The report Non-commutative polynomial computations
, by Arjeh M. Cohen (with support of Dié Gijsbers, Jan Willem Knopper, and Chris Krook) can be downloaded from http://mathdox.org/products/gbnp/gbnp.pdf.
The report Dimensionality of quotient algebras
, by Chris Krook can be downloaded from http://mathdox.org/products/gbnp/dqa.pdf.
The report GBNP and vector enumeration
, by Jan Willem Knopper can be downloaded from http://mathdox.org/products/gbnp/knopper.pdf.
generated by GAPDoc2HTML