The following happens with both Semigroups 3.4.2 and 4.0.0:
Without it:
gap> Matrix(Integers, [[1,2],[3,4]]);
<2x2-matrix over Integers>
gap> BaseDomain(last);
Integers
With semigroups loaded:
gap> Matrix(Integers, [[1,2],[3,4]]);
Matrix(IsIntegerMatrix, [[1, 2], [3, 4]])
gap> BaseDomain(last);
Error, no method found!
There are two options to resolve this:
- implement
BaseDomain and possibly other methods needed to make IsIntegerMatrix compliant with the MatrixObj interface (to the best of your ability -- we definitely need to improve the docs, and add conformance tests)
- don't do this, but then also don't change the behaviour of the
Matrix(Integers, M) constructor
Observed in gap-system/gap#4805
The following happens with both Semigroups 3.4.2 and 4.0.0:
Without it:
With semigroups loaded:
There are two options to resolve this:
BaseDomainand possibly other methods needed to makeIsIntegerMatrixcompliant with theMatrixObjinterface (to the best of your ability -- we definitely need to improve the docs, and add conformance tests)Matrix(Integers, M)constructorObserved in gap-system/gap#4805