4

Suppose I have an $n\times n$ rotation matrix with even $n$. I want to represent it as a product of $k$ planar rotations, with arbitrary planes.

  1. How big is $k$ in the worst case?
  2. What is the algorithm to obtain this decomposition?

I'm curious if $k$ can be achieved with orthogonal planes of rotation, or whether letting planes be non-orthogonal allows $k$ to be smaller.

  • You want to read https://arxiv.org/abs/2107.03771. There are issues with this paper (such as their proof of Cartan-Dieudonne being incorrect in general), but in the Euclidean case you're interested in these issues don't matter. – Nicholas Todoroff Aug 24 '24 at 03:10
  • 2
    I hate to blow my own trumpet, but I'm fairly sure that this old answer of mine answers most (if not all) of your questions: 1) $k=n/2$, 2) a recipe based on (typically complex) eigenvectors is given, 3) correct, the rotation can be written as a composition of exactly $k$ plane rotations (the planes usually not aligned to coordinate axes). With the planes orthogonal to each other (by the inductive process outlined in my post). – Jyrki Lahtonen Aug 24 '24 at 05:00
  • Not necessarily calling it a duplicate. At least not yet. Using ideas from Clifford algebra may shed additional light to the questions and/or simplify the algorithms. For example, my suggestion calls for finding the complex eigenvalues by some means. – Jyrki Lahtonen Aug 24 '24 at 05:03
  • @JyrkiLahtonen can your recipe be simplified using any of the well-known decompositions? Like Jordan or real schur? – Yaroslav Bulatov Aug 24 '24 at 17:09
  • A rotation matrix is always diagonalizable over complex numbers because it is also Hermitian. So sounds like Jordan decomposition is not needed in that sense. I'm afraid I am not familiar with real Schur decomposition. – Jyrki Lahtonen Aug 24 '24 at 18:09
  • @JyrkiLahtonen from some numeric experiments, it appears that using RealBlockDiagonalForm option of Schur decomposition recovers planar rotations as 2x2 diagonal blocks – Yaroslav Bulatov Aug 24 '24 at 18:24
  • @JyrkiLahtonen I'm suspecting the recipe you are describing is just the standard eigenvalue decomposition -- there are n/2 conjugate eigenvalue pairs, with args theta,-theta. Each pair defines rotation by angle theta in the plane defined by corresponding eigenvectors – Yaroslav Bulatov Aug 24 '24 at 20:16
  • @YaroslavBulatov Yes, the standard eigenvalue decomposition of $n \times n$ rotations is necessarily optimal. It's clear that you can always get by with $k = \lfloor n/2\rfloor$ ($n/2$ for even $n$), but the interesting conclusion you come to from Jyrki's answer is that you can't do any better. – Ben Grossmann Aug 24 '24 at 21:38
  • Correct. The old answer is just using the real parts of complex subspaces. With a bit of care in combining eigenvectors belonged to conjugate eigenvalues you get 2-d subspaces stable under complex conjugation as well as the rotation. That's all. – Jyrki Lahtonen Aug 25 '24 at 02:21
  • 1
    Oh! Were you hoping that a lower number of planar rotations would suffice, if you don't insist on the planes being orthogonal? With each planar rotation fixing a subspace of dimension $n-2$ pointwise, the composition will still keep the points of the intersection of those subspace fixed and... (back to Qiaochu's explanation). – Jyrki Lahtonen Aug 25 '24 at 02:35

1 Answers1

3

This was basically answered in the comments, but to summarize: the answer is $\boxed{ k = \frac{n}{2} }$.

This can be done using either the Cartan-Dieudonné theorem (for a proof see here), which lets you write every element $g \in O(n)$ as a product of at most $n$ hyperplane reflections (if $g \in SO(n)$ then there are an even number of these and you can pair them up to get at most $\frac{n}{2}$ plane rotations, not necessarily orthogonal), or using the spectral theorem, which tells you that every element of $O(n)$ has an orthonormal basis of eigenvectors over $\mathbb{C}$, whose eigenvalues are complex numbers on the unit circle which come in complex conjugate pairs. Given such a complex conjugate pair $\lambda, \overline{\lambda}$ with complex conjugate eigenvectors $v, \overline{v}$, $g$ acts by a rotation by $\text{arg}(\lambda)$ on the plane spanned by $\text{Re}(v), \text{Im}(v)$, so the spectral theorem writes $g$ as a direct sum (hence product) of $\frac{n}{2}$ plane rotations, which are now orthogonal.

A product of $k < \frac{n}{2}$ plane rotations, orthogonal or otherwise, necessarily fixes a subspace of dimension at least $n - 2k$ (namely the orthogonal complement of the sum of the planes of the rotations), but in the general case $g \in O(n)$ does not have a fixed subspace at all. So $k = \frac{n}{2}$ is best possible in general, and is the generic case.

The spectral theorem reduces the algorithmic problem to finding eigenvectors, but I think there is an algorithmic proof of the Cartan-Dieudonne theorem that is even simpler than this and doesn't require even the concept of an eigenvector.

Qiaochu Yuan
  • 468,795