-
Notifications
You must be signed in to change notification settings - Fork 4
Description
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 .
. 1Now 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.