$U_s$ is not recoverable from $H$ and $U_A$. Consider the following examples, one each for $M < N, M > N, M = N$. In each example, there are 2 different $R$'s, $R1$ and $R2$, having different $U_s$'s while having the same $U_A$. MATLAB output for $M=2, N=3$ example: >> disp(H) 1 0 0 0 2 0 >> disp(R1) 2 1 1 1 2 1 1 1 2 >> [U_s_R1,lambda_R1]=eig(R1) U_s_R1 = 0.408248290463863 0.707106781186547 0.577350269189626 0.408248290463863 -0.707106781186547 0.577350269189625 -0.816496580927726 0 0.577350269189626 lambda_R1 = 0.999999999999999 0 0 0 1.000000000000000 0 0 0 3.999999999999999 >> disp(R2) 9.999999999999929 4.999999999999965 0.984522053823275 4.999999999999965 9.999999999999929 0.984522053823275 0.984522053823275 0.984522053823275 9.999999999999929 >> [U_s_R2,lambda_R2]=eig(R2) U_s_R2 = 0.707106781186548 0.177730756491407 0.684406150028616 -0.707106781186547 0.177730756491407 0.684406150028616 0 -0.967896459542024 0.251349246280978 lambda_R2 = 4.999999999999966 0 0 0 9.638432711095330 0 0 0 15.361567288904492 >> [U_A_R1,lambda_A_R1]=eig(H*R1*H') U_A_R1 = -0.957092026489053 0.289784148688430 0.289784148688430 0.957092026489053 lambda_A_R1 = 1.394448724536011 0 0 8.605551275463990 >> [U_A_R2,lambda_A_R2]=eig(H*R2*H') U_A_R2 = -0.957092026489053 0.289784148688430 0.289784148688430 0.957092026489053 lambda_A_R2 = 6.972243622680004 0 0 43.027756377319641 As can be seen, U_A_R1 = U_A_R2, but U_s_R1 shares only one column with U_s_R2, i.e., R1 has only one eigenvector in common with R2. _____________________________________________ MATLAB output for $M=3, N=2$ example >> disp(H) 1 0 0 2 1 1 >> disp(R1) 1 1 1 2 >> [U_s_R1,lambda_R1]=eig(R1) U_s_R1 = -0.850650808352040 0.525731112119133 0.525731112119133 0.850650808352040 lambda_R1 = 0.381966011250105 0 0 2.618033988749895 >> disp(R2) 10.000000000000000 2.500000000000000 2.500000000000000 10.000000000000000 >> [U_s_R2,lambda_R2]=eig(R2) U_s_R2 = -0.707106781186547 0.707106781186547 0.707106781186547 0.707106781186547 lambda_R2 = 7.500000000000000 0 0 12.500000000000000 >> [U_A_R1,lambda_A_R1]=eig(H*R1*H') U_A_R1 = 0.666666666666668 0.711452386093986 0.222240990541188 0.333333333333332 -0.551270143087020 0.764846467096310 -0.666666666666666 0.435817314550478 0.604664224089342 lambda_A_R1 = 0.000000000000002 0 0 0 0.675444679663242 0 0 0 13.324555320336762 >> [U_A_R2,lambda_A_R2]=eig(H*R2*H') U_A_R2 = 0.666666666666667 0.711452386093987 0.222240990541187 0.333333333333333 -0.551270143087020 0.764846467096309 -0.666666666666666 0.435817314550477 0.604664224089342 lambda_A_R2 = 0.000000000000005 0 0 0 13.782917548737156 0 0 0 61.217082451262840 As can be seen, U_A_R1 = U_A_R2, but U_s_R1 doesn't share any columns with U_s_R2, i.e., R1 has no eigenvectors in common with R2. _____________________________________________ MATLAB output for $M=2, N=2$ example >> disp(H) 1 0 0 2 >> disp(R1) 1 1 1 2 >> [U_s_R1,lambda_R1]=eig(R1) U_s_R1 = -0.850650808352040 0.525731112119133 0.525731112119133 0.850650808352040 lambda_R1 = 0.381966011250105 0 0 2.618033988749895 >> disp(R2) 9.999999999998895 4.285714285713818 4.285714285713818 9.999999999998892 >> [U_s_R2,lambda_R2]=eig(R2) U_s_R2 = 0.707106781186547 -0.707106781186548 -0.707106781186548 -0.707106781186547 lambda_R2 = 5.714285714285076 0 0 14.285714285712711 >> [U_A_R1,lambda_A_R1]=eig(H*R1*H') U_A_R1 = -0.966499648764670 0.256667935157024 0.256667935157024 0.966499648764670 lambda_A_R1 = 0.468871125850725 0 0 8.531128874149275 >> [U_A_R2,lambda_A_R2]=eig(H*R2*H') U_A_R2 = -0.966499648764669 0.256667935157025 0.256667935157025 0.966499648764669 lambda_A_R2 = 7.723733396502248 0 0 42.276266603492211 As can be seen, U_A_R1 = U_A_R2, but U_s_R1 doesn't share any columns with U_s_R2, i.e., R1 has no eigenvectors in common with R2.