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.

  • $\begingroup$ Does $A$ has any property, e.g. being positive definite? $\endgroup$ – B0rk4 Oct 9 '11 at 15:28
  • $\begingroup$ @Hauke Strasdat: Thanks, I've edited the question about this point. $\endgroup$ – Shiyu Oct 9 '11 at 15:36
  • $\begingroup$ 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? $\endgroup$ – B0rk4 Oct 9 '11 at 15:42
  • 2
    $\begingroup$ 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$. $\endgroup$ – B0rk4 Oct 9 '11 at 16:23
  • 3
    $\begingroup$ 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. $\endgroup$ – hardmath Oct 9 '11 at 16:36

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

Use the Cayley parametrization of orthogonal matrices. Example usage in optimization: A Feasible Method for Optimization with Orthogonality Constraints

Broken link: http://www.caam.rice.edu/~wy1/paperfiles/Rice_CAAM_TR10-26_OptManifold.PDF

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)

  • 1
    $\begingroup$ 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. $\endgroup$ – hardmath Jul 23 '14 at 13:08
  • $\begingroup$ @hardmath The link is now broken :( $\endgroup$ – Antoine Jun 27 at 13:52
  • $\begingroup$ @Patrick: The old "example usage" link was successfully crawled by the Wayback Machine in May of 2018. Here's a link at UCLA.edu associated with the second named author, so presumably of potential longevity. Of course an elaborate self-contained explanation would be welcome here. $\endgroup$ – hardmath Jun 27 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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