[GAP Forum] matrix-conjugation problem. matrices given in numbers
Jack Schmidt
jack at ms.uky.edu
Wed Jan 10 23:00:18 GMT 2007
You can use RepresentativeAction to find an element Y that does the
conjugation. Here is a sample GAP session that chooses some random X_i
and G_i in GL(2,5), asks GAP to find a Y that conjugates them, and then
checks that GAP did what you think it should.
gap> h:=GL(2,5);
GL(2,5)
gap> x:=[PseudoRandom(h),PseudoRandom(h)];
[ [ [ Z(5)^3, 0*Z(5) ], [ Z(5)^0, Z(5)^0 ] ],
[ [ Z(5)^2, 0*Z(5) ], [ Z(5)^2, Z(5)^3 ] ] ]
gap> g:=OnTuples(x,PseudoRandom(h));
[ [ [ Z(5), Z(5)^3 ], [ Z(5), Z(5) ] ],
[ [ Z(5)^3, 0*Z(5) ], [ Z(5), Z(5)^2 ] ] ]
gap> y:=RepresentativeAction(h, x, g, OnTuples);
[ [ Z(5)^3, Z(5)^2 ], [ Z(5)^0, Z(5)^0 ] ]
gap> y^-1 * x[1] * y = g[1];
true
gap> y^-1 * x[2] * y = g[2];
true
If your matrices are given as integer matrices, be sure to multiply them
by the appropriate finite field matrix to turn them into finite field
matrices:
gap> myx := [[2,0],[0,1]];
[ [ 2, 0 ], [ 0, 1 ] ]
gap> x1 := myx*One(h);
[ [ Z(5), 0*Z(5) ], [ 0*Z(5), Z(5)^0 ] ]
You can convert the answer back to a more familiar form using the
Display command as well:
gap> Display(y);
3 4
1 1
If q=p^n is a proper prime power, then elements will be displayed as
powers of a primitive element with minimal polynomial
ConwayPolynomial(p,n)
For large examples, you may wish to find Y_1 (using basically the same
procedure) first for X_1 and G_1, then try the cosets of the centralizer
of X_1 to find Y=C*Y_1, where C is in the centralizer of X_1 and X_2^C =
G* = G_2^(Y_1^-1).
The following took about 20 seconds (and the previous method took longer
than a few minutes, so was canceled):
gap> h:=GL(2,251);
GL(2,251)
gap> x:=[PseudoRandom(h),PseudoRandom(h)];
[ [ [ Z(251)^64, Z(251)^48 ], [ Z(251)^207, Z(251)^25 ] ],
[ [ Z(251)^62, Z(251)^201 ], [ Z(251)^60, Z(251)^36 ] ] ]
gap> g:=OnTuples(x,PseudoRandom(h));
[ [ [ Z(251)^219, Z(251)^62 ], [ Z(251)^207, Z(251)^90 ] ],
[ [ Z(251)^161, Z(251)^190 ], [ Z(251)^149, Z(251)^245 ] ] ]
gap> y1:=RepresentativeAction(h, x[1], g[1] );
[ [ Z(251)^0, Z(251)^17 ], [ 0*Z(251), Z(251)^0 ] ]
gap> hc:=Centralizer(h, x[1]);
<group of 2x2 matrices in characteristic 251>
gap> c:=RepresentativeAction(hc, x[2], g[2]^(y1^-1) );
[ [ Z(251)^187, Z(251)^91 ], [ Z(251)^0, Z(251)^92 ] ]
gap> y:=c*y1;
[ [ Z(251)^187, Z(251)^98 ], [ Z(251)^0, Z(251)^69 ] ]
gap> y^-1 * x[1] * y = g[1];
true
gap> y^-1 * x[2] * y = g[2];
true
Joachim Schittenhelm wrote:
> Hi members,
>
> i got an equation Problem.
>
> given:
> 4 matrices X_1,G_1, X_2, G_2 in GL(n,q)
>
> needed:
> matrix Y (<>0), so that X_i is the conjugation of G_i by Y
>
> matrices X_i, G_i are given like this:
> [[2,0],[0,1]]
> entries are numbers modulo q
>
> is this somehow solvable in GAP?
>
>
> Greetings
>
> Joachim
More information about the Forum
mailing list