Skip to content

problem with orthogonal groups in dimension 2? #5

@ThomasBreuer

Description

@ThomasBreuer

When I wrote tests for the extension of GAP functionality based on the Forms package (see pull request #4), I found the following strange behaviour with some orthogonal groups in dimension 2.

I start with the group GO(-1,2,3) in GAP.

gap> d:= 2;;  q:= 3;;  g:= GO(-1,d,q);;
gap> mat1:= InvariantQuadraticForm( g ).matrix;;
gap> form1:= QuadraticFormByMatrix( mat1, GF(q) );;
gap> Display( form1 );
Quadratic form
Gram Matrix:
 1 1
 . 2
gap> bas1:= BaseChangeToCanonical( form1 );;
gap> can1:= bas1 * mat1 * TransposedMat( bas1 );
[ [ Z(3)^0, Z(3) ], [ Z(3)^0, Z(3)^0 ] ]
gap> canform1:= QuadraticFormByMatrix( can1, GF(q) );;
gap> Display( canform1 );
Quadratic form
Gram Matrix:
 1 .
 . 1

Now I conjugate the group with a permutation matrix.
A Gram matrix of the invariant quadratic form of the image is given by conjugating the Gram matrix of the form for the original group.
However, I get a different canonical form for it.

gap> pi:= PermutationMat( (1,2), d, GF(q) );;
gap> mat2:= pi * mat1 * TransposedMat( pi );;
gap> g2:= ConjugateGroup( g, pi );;
gap> form2:= QuadraticFormByMatrix( mat2, GF(q) );;
gap> bas2:= BaseChangeToCanonical( form2 );;
gap> can2:= bas2 * mat2 * TransposedMat( bas2 );
[ [ Z(3), Z(3)^0 ], [ Z(3), Z(3) ] ]
gap> canform2:= QuadraticFormByMatrix( can2, GF(q) );;
gap> Display( canform2 );
Quadratic form
Gram Matrix:
 2 .
 . 2
gap> canform1 = canform2;
false

(With the base change bas1 * pi^-1 instead of bas2, we would get can1 from mat2, and everything would work as expected.)
What am I missing?

P.S.:
PreservedQuadraticForms( GO(-1,2,q) ) seems to find nothing if q is odd. As far as I see, this is not related to the problem sketched above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions