Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. 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

Let $X\in\mathbb{R}^{3\times 3}$ be an orthogonal matrix. Then $\mathrm{vec}X\in\mathbb{R}^9$ is a 9 by 1 vector formed by stacking the columns of the matrix $X$ on top of one another. Given a matrix $A\in\mathbb{R}^{9\times 9}$, find the optimal orthogonal matrix $X$ minimizing the following objective function. $$J=\left(\mathrm{vec}X\right)^T A \mathrm{vec}X$$ I think Kronecker product may be useful for solving this problem. Does a closed-form solution exist? If not, is it possible to solve it iteratively? Thanks.


a) Here $A$ doesn't have any special property. But it is also acceptable if solutions can be obtained by adding some properties on $A$.

b) In the original problem, $X$ is constrained as a rotation matrix. But I think that would be even harder, so I put $X$ as an orthogonal matrix herein. Of course, optimal rotation matrices are better.

share|cite|improve this question
Does $A$ has any property, e.g. being positive definite? – Hauke Strasdat Oct 9 '11 at 15:28
@Hauke Strasdat: Thanks, I've edited the question about this point. – Shiyu Oct 9 '11 at 15:36
Note sure whether there is a closed form solution. But you could solve it iteratively (e.g. using the Newton method or Gradient Descent) and the Lie algebra so3. Is X a proper rotation $\det(X)=1$ or can it also be a reflection? – Hauke Strasdat Oct 9 '11 at 15:42
You can preserve orthogonality, if you do the update in the tangent space (Lie algerba). Thus, you calculate the gradient: $\nabla J =\frac{\partial }{\partial \epsilon} \text{vec} (\exp(\epsilon)X)^\top A \text{vec} (\exp(\epsilon)X)|_{\epsilon=0}$ with $\exp(\cdot)$ being the Rodriguez formula. Now you can iteratively update $X$ using gradient descent: $X' = \exp(-\alpha\nabla J) X$. – Hauke Strasdat Oct 9 '11 at 16:23
On the issue of rotations vs. reflections, note since X is of odd dimension and can be replaced wlog in the objective function by -X if necessary, there is no problem restricting attention to det(X)=1. – hardmath Oct 9 '11 at 16:36
up vote 2 down vote accepted

This is a bit late, but I believe this might help.

Use the Cayley parametrization of orthogonal matrices. Example usage in optimization:

You might want to start by just understanding the Wiki article on the Cayley transform and why a parametrization helps (you can do the optimisation without constraints, which should be easier)

share|cite|improve this answer
Please explain how this "might help". A link-only Answer risks becoming obsolete as links break, and it is advantageous to the Reader to have a clear expectation of what they would find if the link were followed. – hardmath Jul 23 '14 at 13:08

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.