In general, $U_s$ is not recoverable from $H$ and $U_A$. Consider the following example in which 2 different $R$'s, $R1$ and $R2$, have different $U_s$'s while having the same $U_A$. MATLAB output: >> 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.