3
$\begingroup$

I want to be able to computationally generate a rotation matrix for $\mathbb{R}^n$ where $n$ might go as high as $10^4$. The naive technique would be to generate the rotation in each plane then proceed by matrix multiplication. This seems unwise.

Ignoring the special cases $n=1$, $n=2$; Can I generate the matrix of rotation about $\binom{n}{2}$ planes for $\mathbb{R}^n$ without using the naive technique?

  • 0
    What do you want the actual matrix for? If you just want to apply an arbitrary rotation in $\mathbb{R}^{n}$, it can be expressed as a product of ${{n}\choose{2}}=\frac{1}{2}n(n-1)$ rotations, one in each $2$-dimensional axis-aligned subspace.2012-09-29
  • 0
    What do you mean by "the matrix of rotation about $n$ angles"? Do you mean "by/through" $n$ angles? Do you have $n$ angles given? If so, do you also have the planes in which to rotate through these angles?2012-09-29
  • 0
    @mjqxxxx: Or it can be expressed as a product of $\lfloor n/2\rfloor$ rotations in $2$-dimensional subspaces (not necessarily axis-aligned).2012-09-29
  • 0
    So I'm actually generating eigenvectors of an estimate of a (unknown) Hamiltonian (along with a set of eigenvalues); which when normalized and placed in a matrix by columns turns out to be an element of SO(n, R); thus I can parameterize these vectors by the angles (which I'm using as part of the genome of a genetic algorithm). In essence I'm generating a change of basis matrix from a set of $n$ parameters.2012-09-29
  • 0
    joriki: I think what I actually mean is about $n$ dimensions. I do have the particular angles.2012-09-29
  • 0
    I'm afraid you're going to have to be more precise in your use of language. I don't know what "rotation about $n$ dimensions" might mean. Since you already have a "naive technique" in mind and are just looking for a more efficient approach, it might help if you write the "naive technique" out in detail (ideally including formulas).2012-09-30
  • 0
    Let me back up a bit since obviously there's confusion on my part. Can any matrix with orthonormal columns (up to a sign) be expressed as a product of rotations of the $\binom{n}{2}$ planes? As I understand it the matrices described generate the orthogonal group $O(n, \mathbb{R})$ and if you fix the sign appropriately you get $SO(n, \mathbb{R})$. If this is the case then I can factor the matrix in to the set of rotation matrices for each axis, each with a angle parameter (the Eulerian angles).2012-09-30
  • 0
    a) If by "up to a sign" you mean "up to a sign change in one of the rows or columns", the answer to the question is yes. (It's no if you mean "up to an overall sign", since in an even number of dimensions an overall sign change doesn't change the sign of the determinant of a matrix.) b) The last sentence may indicate the source of your confusion. Specifying a rotation matrix by an axis and an angle only works in three dimensions. This is because in three dimensions an axis specifies the plane normal to it. Generally you have to specify $\lfloor n/2\rfloor$ planes and as many angles.2012-09-30
  • 0
    Or $\binom n2$ angles for the axis-aligned planes. See http://en.wikipedia.org/wiki/Rotation_matrix#Decompositions.2012-09-30

0 Answers 0