MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question is not urgent; just a matter of curiosity...

It is relatively easy to generate an arbitrary 3D or even 4D rotation matrix using conjugation (i.e. YXY−1) of orthogonal rotations. I expect that there are ways to choose the contributing orthogonal angles of rotation in order to get a uniform random distribution of the resulting axis (and angle). (3D rotations are also related to quaternions.)

There's a wonderfully symmetrical 3D rotation matrix presentation, given in the first edition of D. F. Rogers and J. A. Adams book "Mathematical Elements for Computer Graphics". The elements of the matrix are:

u2+(1-u2)c; uv(1-c)+ws; uw(1-c)-vs
uv(1-c)-ws; v2+(1-v2)c; vw(1-c)+us
uw(1-c)+vs; vw(1-c)-us; w2+(1-w2)c

Here, (u,v,w) is a unit vector along the chosen axis of rotation, and s and c are the sine and cosine of the chosen angle of rotation.

[I mention this on my blog page.]

Now, a 4D rotation must be about a "2D-axis", or plane (where a 3D rotation is about a "1D-axis", or line).

I wonder if there's an equally elegant 4x4 matrix, in terms of a pair of mutually orthogonal unit vectors (defining the plane of rotation) and the sine and cosine of the angle of rotation in 4D.

Any on-line references regarding anything mentioned here would we gratefully received.

share|cite|improve this question
up vote 3 down vote accepted

A 4-d rotation does not have to fix a 2-d axis. For example, (complex) multiplication by $e^{i\theta}$ rotates every vector of unit length in $C^2$ ``the same way''.

share|cite|improve this answer
DC: Thanks; could you please briefly explain multiplication by e^(i theta)? I understand this in 2D, as it applies to complex numbers (pairs of reals) where this may also be written cis(theta) or cos(theta)+i*sin(theta), and thus corresponds to a the 2D matrix [[c,s],[-s,c]]. How is this extended to 4-tuples please? – Rhubbarb Nov 11 '09 at 9:39
DC: Your reply did highlight that I'd made a false assumption: that 4D rotations must have fixed points, as do 3D rotations. However, there is at least one simple counter example: the map (w,x,y,z) --> (-w,-x,-y,-z). Because the dimension is even, this is a true rigid rotation, and does not have a reflection component. This particular map may be thought of as some kind of inversion or reflection through a point. – Rhubbarb Nov 11 '09 at 9:43
You can think of a pair of complex numbers (ie a vector in $C^2$) as a 4-tuple of real numbers (by taking the real and imaginary part of each complex number). So a transformation which multiplies each complex number by $e^{i\theta}$ "is" a rotation of (real) 4-space in which every vector rotates (through the same angle $\theta$). – Danny Calegari Nov 11 '09 at 14:39

A nice way to look at the 4-dimensional rotation matrices $SO_4$ is that it's universal cover is isomorphic to $S^3 \times S^3$. The map $S^3 \times S^3 \to SO_4$ is given by left and right quaternionic multiplication by a unit vectors.

share|cite|improve this answer
Furthermore, it's "easy" to generate uniform random elements of S^3 (i. e. selected according to the Haar measure, I think). These can be generated by taking a vector of four independent standard normal random variables, and then normalizing to unit length. I suspect that the uniform measure on S^3 x S^3 projects down to uniform measure on SO(4). – Michael Lugo Nov 11 '09 at 2:52
  • a 4-d rotation can rotate on two orthogonal planes at the same time. Multiplication by quaternion qx rotates the plane P determined by the unit and non real part of q and the plane orthogonal to that plane. multiplying by q^-1 on the right side gives qxq^-1 gives a rotation about an axis as the multiplication of quaternions is not commutative and the rotations in the P plane cancels out while the rotation in the other plane is doubled. This is related to the Hopf fibration. The symmetry group of the 600-cell is the double cover of the icosahedral group and is called the binary icosahedral group. I think you could represent a rotation as a division into two orthogonal planes and then take two rotations of arbitrary magnitude in each plane.
share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.