For a group G whose elements are in IsMatrixObj, we want that all elements have the same BaseDomain value.
This is larger than or equal to FieldOfMatrixGroup( G ), according to the definition of FieldOfMatrixGroup (the smallest field that contains all entries of all matrices in G).
For example, FieldOfMatrixGroup( T ), for T = TrivialSubgroup( G ), is always a prime field, whereas the common BaseDomain of the elements in T shall be equal to that of the elements in G.
Apparently FieldOfMatrixGroup is not what one wants to know about a group of MatrixObjs, the common BaseDomain is important.
Still the code for matrix groups calls FieldOfMatrixGroup and DefaultFieldOfMatrixGroup in many places.
Currently the behaviour of GAP is inconsistent in this respect, due to an ugly hack which I had introduced in gap-packages/forms#80.
Namely, FieldOfMatrixGroup for a group of MatrixObjs returns the common BaseDomain.
In order to fix this, I propose to introduce BaseDomain for matrix groups, which is defined as the common BaseDomain of the generators in the case of groups of MatrixObjs, and as the FieldOfMatrixGroup for groups of list-of-lists matrices.
Then we can replace the relevant FieldOfMatrixGroup calls in the GAP library, i.e., those where one in fact does not want the smallest field but "the natural field implied by the generators".
For a group
Gwhose elements are inIsMatrixObj, we want that all elements have the sameBaseDomainvalue.This is larger than or equal to
FieldOfMatrixGroup( G ), according to the definition ofFieldOfMatrixGroup(the smallest field that contains all entries of all matrices inG).For example,
FieldOfMatrixGroup( T ), forT = TrivialSubgroup( G ), is always a prime field, whereas the commonBaseDomainof the elements inTshall be equal to that of the elements inG.Apparently
FieldOfMatrixGroupis not what one wants to know about a group ofMatrixObjs, the commonBaseDomainis important.Still the code for matrix groups calls
FieldOfMatrixGroupandDefaultFieldOfMatrixGroupin many places.Currently the behaviour of GAP is inconsistent in this respect, due to an ugly hack which I had introduced in gap-packages/forms#80.
Namely,
FieldOfMatrixGroupfor a group ofMatrixObjs returns the commonBaseDomain.In order to fix this, I propose to introduce
BaseDomainfor matrix groups, which is defined as the commonBaseDomainof the generators in the case of groups ofMatrixObjs, and as theFieldOfMatrixGroupfor groups of list-of-lists matrices.Then we can replace the relevant
FieldOfMatrixGroupcalls in the GAP library, i.e., those where one in fact does not want the smallest field but "the natural field implied by the generators".