Matrices mod p, An Isomorphism between G2 and O3

The two Groups Look the Same

For any finite field, the groups G2/C and O3′ have the same size, namely w(w-1)(w+1)/2, and they have the same 2 sylow subgroups, and the same p groups. All this suggests an isomorphism. Indeed, a modest computer program quickly builds such a correspondence for small values of p. Let's try to build a map that works for all finite fields in one go.

A Linear Isomorphism

As you recall, I built a linear isomorphism between G2 and the quaternions. Perhaps a linear map might work here. Well a couple days of playing around got me nowhere, primarily because the matrix M and -M must have the same image. After all, the domain is G2/C, and C is ±1. Finally it hit me; a map that takes M and -M to the same place should be quadratic, not linear!

A Quadratic Isomorphism

Assume a quadratic map q() takes 2 by 2 matrices into 3 by 3 orthonormal matrices, and implements a group isomorphism between G/C and O′. by quadratic, we mean this. Each of the 9 entries in the output is quadratic in the four entries of the input. If M = [a,b|c,d], then the homogeneous polynomial of degree 2 that defines the upper left entry is a linear combination of a2, b2, c2, d2, ab, ac, ad, bc, bd, and cd. There are ten coefficients up for grabs, and this happens 9 times over, for each of the 9 entries in O. That's 90 coefficients, or 90 variables if you will. And technically we should allow for a constant in each polynomial, so there are really 99 unknowns. It looks impossible, but it's not. Hang on.

Fixing a Sylow Group on Either Side

If q exists, there will be many quadratic maps. This because we can premultiply by a linear automorphism on G, or postmultiply by a linear automorphism on O. The most common of these is conjugation. Follow q() with conjugation by a fixed matrix Z in O. The composition of two group isomorphisms yields another isomorphism, and the resulting function remains quadratic in the inputs. In the same way, you can conjugate G by a fixed matrix, then apply q(). So we have some flexibility here. Select any sylow group in G, and any sylow group in O, and you can build a quadratic map that carrries the former onto the latter. Choose these sylow groups wisely, and you can pin down some of these 99 variables.

Recall once again that the isomorphism between G and the quaternions is linear. So a quadratic map from either structure into O implies a quadratic map on the other. Apply the linear isomorphism first, then follow up with q(). Indeed, I will build a map from the quaternions into O. The algebra is easier, and does not depend on w mod 8.

Dihedral Groups

Assume F has order w. O2 is cyclic of order w-1 or w+1. Pull off the top row, s+ti. This looks like unit vectors in the complex plane. Mod out by ±1 to get a cycle half as long. These are unit vectors in the projective plane. Let b be the unit vector that begins the cycle. Each entry is now b to some power. One can revers this map to get discrete logs. The log is a number from 0 to (w-1)/2 or (w+1)/2. 0 corresponds to the real vector 1. 1 corresponds to b, and so on.

Extend this to a dihedral group by including reflections. Multiply the unit vectors by j on the right, giving entries sj+tk. Square such an element and get -1. (Since we are modding out by the center, -1 and 1 are the same.) These are involutions, or reflections. Conversely, multiply s+ti by j on the left, and pass j through, giving sj-tk. This is the conjugate, and the inverse. The log has been negated. This flips the cycle around. The union of s+ti and uj+vk builds a dihedral group of order w-1 or w+1. We want to map this to a dihedral group in O′.

Start by mapping the cycle of rotations into O′. The standard cycle is the squares in O2 in the upper left block and 1 in the lower right. The upper left entry becomes s2-t2. The upper middle is 2st. The entries below are -2st and s2-t2. The lower right entry is s2+t2, or 1. All other entries are 0.

Map j over to the diagonal involution [1,-1,-1], which is always in O′. This carries uj+vk to an upper left block of [u2-v2,-2uv|-2uv,v2-u2], and a lower right entry of -u2-v2, or -1.

I found all the other coefficients by writing a computer program that looked (brute force) for a map mod 17. Then I used an algebra package to show that this map works for all primes. Here is the matrix q().

s2-t2+u2-v2 2st-2uv 2sv+2tu
-2st-2uv s2-t2-u2+v2 2su-2tv
-2sv+2tu -2su-2tv s2+t2-u2-v2

Verify that the dot product of each pair of rows is 0. (As mentioned above, a computer makes this a lot easier.) Then show that the length of each row is (s2+t2+u2+v2)2, which is 1. The matrix is orthonormal. but we still need to prove the determinant is 1, and not -1. Evaluate the determinant and get (s2+t2+u2+v2)3, which is 1.

Believe it or not, that was the easy part. We still have to prove q is a group homomorphism. Multiply two matrices in G, and apply q, and you get the product of the two images in O. Please review the pbc script here. It's almost magical the way it works out. It's certainly beautiful!

Verifying the Domain and Range

The constructed map q() is a group homomorphism from G into O. Since the map is quadratic, q(M) = q(-M). Thus q acts meaningfully on G/C. We have a homomorphism on a simple group, hence it is trivial or it is an embedding. The image of j is not 1, hence G/C embeds in O.

Let H be the image of G/C in O. Since H is half the size of O, it is a normal subgroup of index 2. Remember that O is a permutation group, and O′ are the even permutations thereof. Suppose H includes some odd permutations. Intersect with O′ and extract the even permutations. This is a group that is half the size of H. It is normal in H, and it pulls back to a normal subgroup of G/C. Since G/C is simple, this is impossible. Therefore H lies entirely in O′. Since H and O′ are the same size, we have our isomorphism.

There is no need to analyze O′, where the algebra is quite intense. Instead, work with the quaternions, or G/C, where the algebra is straightforward.

Other Fields

The map q, from projective quaternions into rigid rotations, works over any field, or subring thereof. Since the quaternion group might not be simple, we have to do a bit more work to prove the map embeds. Assume the image is the identity matrix, and set 2st-2uv = -2st-2uv = 0. Assuming the characteristic of F is not 2, this implies either s or t is 0, and u or v is 0. In the same way, s or u is 0, and t or v is 0; and s or v is 0, and t or u is 0. If two variables are nonzero then we're done. So we're talking about 1, i, j, or k. Only 1 has an image of 1, hence q is injective.

Asking whether q is surjective will have to be done on a case by case basis. And of course the idea of O′ may not make any sense in other fields.

The Reals

Let's complete the isomorphism for the reals. We only need show the map is onto.

Review the 3 by 3 matrix given above. Let the columns be the x y and z coordinates in 3 space. Multiply on the left by [0,0,1], the z vector, and the bottom row becomes the destination of the north pole. The top row is the destination of the x axis, which defines a rotation about the new location. Picture this as an arrow tangent to the sphere. We need to move the north pole to every location, and then point the arrow in every direction.

Set u = v = 0, and let s and t spin around the unit circle in the complex plane. This fixes the north pole in place and spins the arrow all the way around. In fact it spins the arrow around twice, but that doesn't matter.

Assume a rotation moves the north pole to a new location l. Let this rotation map x to a and y to b. Thus a is our arrow, and b is a perpendicular arrow that goes along for the ride. Prepend this transformation with a rotation that fixes the north pole and moves the arrow through an angle of θ. The image of the z vector under this composition is still l. Use the linearity of the transform to show that a linear combination of x and y maps to the same linear combination of a and b. Moving the arrow replaces x and y with linear combinations of x and y, using trig functions of θ as coefficients. This carries through to a and b, and the arrow at l moves through the same angle. This is a lot of algebra to say something rather intuitive. Move the arrow before you move the north pole to l, and it is the same as moving the arrow at l. Therefore it is enough to show that the north pole can move to any location on the sphere.

Let s and v be 0, and let t and u spin around a unit circle. The image of z now spins around the y axis in the xz plane. Again, it wraps around the sphere twice, but that doesn't matter. Use this to move the north pole to any lattitude; then apply a rotation about the north pole to move the designated point to any longitude. That covers the entire sphere, and the map is onto.

As groups, the projective quaternions are isomorphic to the rigid rotations in 3 space. But these are more than groups; they are topological groups. The 9 quadratic functions in the matrix above are all continuous; hence the map is continuous. All spaces are compact and hausdorff, hence the map is a homeomorphism. The spaces are topologically equivalent.

Other Norms

Apply the map to any nonzero quaternion x, and find an orthogonal matrix such that the length of each row is the norm of x squared. The determinant is the norm of X cubed. This is a group homomorphism into the orthogonal matrices of constant length.

This isn't terribly useful; except it is sometimes applied to the quaternions of norm ±1. The resulting matrices are orthonormal, but the image of a quaternion with norm -1 is not in O, because its determinant is -1.

Reversing the Map

Let's try to reverse the above map. You are given a matrix in O′. Combine the upper middle and the middle left to isolate st and uv. The lower middle and the middle right isolate su and tv. The upper right and the lower left isolate sv and tu. All pairwise products are known.

Combine the lower right with the identity s2+t2+u2+v2 = 1 to isolate s2+t2 and u2+v2. The upper left and middle give us s2-t2 and u2-v2. Put these together and you have values for s2, t2, u2, and v2. If you can take square roots in the underlying ring, then there are 8 combinations to test, in search of the preimage of this particular matrix.

Suppose there is an isomorpism in reverse, from O′ onto Q/C, that is implemented by a polynomial map. Combine this with the forward map to get an automorphism on Q/C. This automorphism is polynomial, and each term has even degree. Now I'm getting ahead of myself, but all such automorphisms are conjugal. Conjugate back to get the identity map. The result is still polynomial of even degree. This polynomial, when evaluated at s,0,0,0, yields s. I suppose sp would do the trick, but we don't want the polynomial to change with p. Besides, this has an odd degree, and each term in our polynomial must have even degree. Therefore there is no computational isomorphism from O′ back to Q/C.

This isn't the first irreversible isomorphism. If p is a large prime that is 2 mod 3, then cube the nonzero elements mod p to find a group automorphism that can't be undone.

Alternate Map

There is an alternate map from Q into O that is sometimes more convenient. Replace t u and v with u, -v, and -t respectively, and apply the quadratic map at the top of this page. Yes, this is still an isomorphism. I will use this alternate map in the examples below.

Example 5

Let's do an example mod 5. First build the map from the quaternions onto G2.

1 → [1,0|0,1]

i → [2,0|0,3]

j → [0,1|4,0]

k → [0,2|2,0]

This gives the following matrix.

1 0 0 1
2 0 0 3
0 1 4 0
0 2 2 0

Invert this matrix to go from matrices back to quaternions.

3 4 0 0
0 0 3 4
0 0 2 4
3 1 0 0

Next, the map from quaternions into O. Start with s+ti+uj+vk and map to the following matrix.

s2+t2-u2-v2 2(-sv+tu) 2(su+tv)
2(sv+tu) s2-t2+u2-v2 2(-st+uv)
2(-su+tv) 2(st+uv) s2-t2-u2+v2

Combine the maps to go from G2/C into O.

ad+bc 2ac+2bd 4ac+bd
3ab+3cd 3a2+3b2+3c2+3d2 a2+4b2+c2+4d2
4ab+cd 4a2+4b2+c2+d2 3a2+2b2+2c2+3d2

Example 7

Let's do an example mod 7. First build the map from the quaternions onto G2.

1 → [1,0|0,1]

i → [0,3|2,0]

j → [2,2|1,5]

k → [3,1|4,4]

This gives the following matrix.

1 0 0 1
0 3 2 0
2 2 1 5
3 1 4 4

Invert this matrix to go from matrices back to quaternions.

4 0 6 2
0 6 3 5
0 2 6 3
4 0 1 5

Next, the map from quaternions into O. Start with s+ti+uj+vk and map to the following matrix (which we saw before).

s2+t2-u2-v2 2(-sv+tu) 2(su+tv)
2(sv+tu) s2-t2+u2-v2 2(-st+uv)
2(-su+tv) 2(st+uv) s2-t2-u2+v2

Combine the maps to go from G2/C into O.

4a2+2b2+c2+4d2 5a2+4ab+b2+3c2+cd+2d2 6a2+6ab+4b2+5c2+5cd+d2
2a2+6ac+b2+3bd+3c2+5d2 6a2+2ab+4ac+3ad+4b2+3bc+5bd+2c2+3cd+6d2 3a2+3ab+2ac+ad+2b2+bc+6bd+c2+cd+3d2
a2+2ac+4b2+bd+5c2+6d2 3a2+ab+6ac+ad+2b2+bc+4bd+c2+5cd+3d2 5a2+5ab+3ac+5ad+b2+5bc+2bd+4c2+4cd+5d2