I am writing a computer vision related program and stuck on a problem. I have a system of quadratic equations



where M is a constant 3x3 matrix, unit is the 3x3 identity matrix, and we are solving for the 3x3 matrix R.

The first set of equations contains 6 independent equations which leaves us with 3 degrees of freedom of SO(3) group. The second set of 3 equations just states that the matrix sym is symmetric.

Since this program will repeatedly solve these equations, I am searching for an efficient algorithm which I can run on Raspberry Pi, i.e. not monsters like Matlab, Mathematica or root.

  • $\begingroup$ This problem is equivalent to: given a constant 3x3 matrix $P$, find a symmetric 3x3 matrix $S$ such that $SPS = \mathbb{I}$ (take $P=(M^{-1})^T M^{-1}$ and $R = S (M^{-1})^T$). That gives you 9 quadratic equations in 6 unknowns. I don't know if that helps. $\endgroup$
    – D.W.
    Mar 22 '19 at 19:40
  • $\begingroup$ P is a symmetric matrix, so it is still 6 equations. $\endgroup$
    – Vahagn
    Mar 23 '19 at 8:25
  • $\begingroup$ Can I ask some more about the underlying problem? Are you trying to match point correspondences? Because if so, that's a fairly well-understood problem. $\endgroup$
    – Pseudonym
    Mar 25 '19 at 22:15

Your Answer

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

Browse other questions tagged or ask your own question.