Skip to content

problem with a new feature for matrix groups #6222

@ThomasBreuer

Description

@ThomasBreuer

Since #6213 got merged, it is possible to construct some matrix groups in such a way that their generators are represented in a different way. For that, one can set the global option ConstructingFilter. Currently IsPlistMatrixRep is a supported non-default value.

This feature is experimental, and it is clear that the new kinds of matrix groups will run into problems.
Here is one such problem:

gap> G:= SP( 4, 2 );
Sp(4,2)
gap> nice:= NiceMonomorphism( G );;
gap> G2:= SP( 4, 2 : ConstructingFilter:= IsPlistMatrixRep );  # the same group, but with different matrices
Sp(4,2)
gap> nice2:= NiceMonomorphism( G2 );;
gap> IsIdenticalObj( nice, nice2 );
true
gap> IsSubset( Source( nice2 ), G2 );
Error, no method found! For debugging hints type ?Recovery from NoMethodFound
Error, no 1st choice method found for `<' on 2 arguments at
[...]

The problem is that the function NicomorphismFFMatGroupOnFullSpace caches the maps it computes, see the IsIdentical check above.
The keys in this cache are the dimension and the size of the field.
Thus we run into problems as soon as these parameters do not suffice.

A straightforward solution is to add the representation of the matrices in the group and the field of definition (to be compared w.r.t. object identity) as parameters for the keys.
Do you have better ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: bugIssues describing general bugs, and PRs fixing themkind: bug: unexpected errorIssues describing bugs in which computation unexpectedly encounters an error, and PRs fixing themkind: bug: wrong resultIssues describing bugs that result in mathematically or otherwise wrong results, and PRs fixing them

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions