# How do I solve this system of equations?

I am doing something that is commmon practice in economics to uniquely identify matrices. After deriving 3 unrotated factors from PCA, I then want to rotate them to be able to interpret them in economic terms.

The usual procedure is to choose an orthogonal matrix $$U$$ (3x3 in my case) such that $$UU'=I$$. Being a 3x3 matrix I need 3 additional restrictions to uniquely identify it. So, first, I compute $$UU'$$:

$$UU' = \begin{bmatrix} u_{11} & u_{12} & u_{13} \\ u_{21} & u_{22} & u_{23}\\ u_{31} & u_{32} & u_{33} \end{bmatrix} \begin{bmatrix} u_{11} & u_{21} & u_{31} \\ u_{12} & u_{22} & u_{32}\\ u_{13} & u_{23} & u_{33} \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$$

and I get 6 equations in 9 unkowns:

(1) $$u_{11}^2 + u_{12}^2 + u_{13}^2 = 1$$,

(2) $$u_{21}^2 + u_{22}^2 + u_{23}^2 = 1$$,

(3) $$u_{31}^2 + u_{32}^2 + u_{33}^2 = 1$$,

(4) $$u_{11}u_{21} + u_{12}u_{22} + u_{13}u_{23} = 0$$,

(5) $$u_{21}u_{31} + u_{22}u_{23} + u_{23}u_{33} = 0$$,

(6) $$u_{11}u_{31} + u_{22}u_{23} + u_{23}u_{33} = 0$$

(7) $$0.45u_{12} + 0.65u_{22} + 0.88u_{32} = 0$$,

(8) $$0.45u_{13} + 0.65u_{23} + 0.88u_{33} = 0$$,

(9) $$VCov(U_3F)' = 0$$ (where this is the first derivative of the variance-covariance)

and I get a system of 9 equations in 9 unkowns which I can then solve.

Now, my silly question is: shall I treat it as a sytem of quadratic equations? I find difficult to see the structure of it. As a result, I find difficult to find the right function in R to solve it. But the most important thing for me is to understand what type of system I am solving and how can I structure it in a way it's clearer to me. Then if anyone has any suggestion on how to solve it in R would be incredibly useful.

Thanks a lot for your help!

$$U$$ is an orthonormal matrix, with columns having norm $$1$$ and orthogonal to each other. The solution is not unique, so coming up with a solution should suffice for you I guess, if there are no other restrictions. You can create a random matrix, and then orthonormalize its columns using gram-schmidt process. The following R script does it for you:
library('matlib')

• Well, $x$ equations and $x$ unknowns doesn't mean unique solution. For example, if you intersect two circles, you'll have two solutions. I'm not familiar with your (9)-th condition, but I think it's better to post your updated question in Math SE. You can satisfy your 7,8-th condition by choosing your first column as normalized version of $[0.45,0.65,0.88]^T$. Jan 23, 2020 at 22:52
• thanks I will post into Math SE. I agree, indeed I will have 9 solutions for every $u_{ij}$ unkown but in so doing the matrix U will be uniquely identified. Now I am looking into nleqslv in R to see whether I could solve it Jan 24, 2020 at 10:45