ITADN

MatrixObj: conceptual problem with `FieldOfMatrixGroup`

#6359OpenThomasBreuer 创建于 2026-04-30
kind: bug: wrong result
T
ThomasBreuercommented
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 `MatrixObj`s, 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 https://github.com/gap-packages/forms/pull/80. Namely, `FieldOfMatrixGroup` for a group of `MatrixObj`s 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 `MatrixObj`s, 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".
1 条评论