Skip to content

5.0.0

Compare
Choose a tag to compare
@james-d-mitchell james-d-mitchell released this 05 Aug 10:03

This is a major release with several new features and some backwards incompatible changes prompted by changes in GAP 4.12. Note that to use version 5.0.0 of Semigroups GAP 4.12 is required. At the time of writing GAP 4.12 has not yet been released, and so the development version of GAP (in themaster branch of the git repo hosted on github) is required for Semigroups version 5.0.0.

The backwards incompatible changes in this release related to matrices over the integers or over a finite field. In previous versions of Semigroups there was an implementation of matrices over the integers and over finite fields, because at the time they were written it was not possible to use the matrices in the GAP library. This is no longer the case, and some changes in the GAP library for version 4.12, meant that the implementation in Semigroups had to be removed.

Previously, to create a matrix over the integers you could do:

Matrix(IsIntegerMatrix, [[0, 1], [1, 0]]);

The equivalent in version 5.0.0 of Semigroups is:

Matrix(Integers, [[0, 1], [1, 0]]);

where Integers is the ring of integers. The changes for matrices over finite fields are mostly internal, and it was, and still is, possible to create such matrices using, for example,

Matrix(GF(4), Z(4) * [[0, 1], [1, 0]]);

In versions of Semigroups before 5.0.0, the filter IsMatrixOverFiniteField could also be used when constructing matrices, and these features have been removed in version 5.0.0. See: #827

The new features introduced in version 5.0.0 are: