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
_______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum