I really can't find an answer to this. I am writing a C code to solve the eigenvalues problem for a real symmetric matrix A. The procedure is the following.
I have a real symmetric matrix A. I put it in tridiagonalized form, P being the matrix that tridiagonalizes A. Then I write the QR factorization of the tridiagonal matrix and I find eigenvalues and eigenvectors of the final (upper) triangular matrix thus obtained. Up to now everything is fine. But from this point, how can I relate these eigenvalues and eigenvectors to those of the original matrix A?
I read of the QR algorithm but I am looking for a more direct approach. I solved the eigensystem of the triangular matrix yet and I am looking for a relation (involving matrices P and Q) that gives the same for the matrix A. How can I proceed?
Edit: Per the discussion in the comments, I misunderstood the question. The intention of the question is to know whether it is possible to easily recover the eigenvalue decomposition of $A$ if we know the QR decomposition of $A$, and we know the eigenvalue decomposition of $R$.
Basically, the answer is no, it is not possible to recover the eigenvalues of $A$ from this information using any finite algebraic process. To see why, note that general-purpose eigenvalue algorithms always require an infinite iterative process. This is because the solutions of a polynomial equation are the eigenvalues of companion matrix for the polynomial, and by the Abel-Ruffini theorem there is no algebraic solution of 5th order polynomials in general.
But here everything is (in principle) a finite algebraic process:
If one could use $Q$ and the eigenvectors and eigenvalues of $R$ in an algebraic process to get the eigenvalues of $A$, this would imply that the eigenvalues of $A$ are algebraic in the entries of $A$, which would imply the existence of algebraic solutions to any polynomial, which would contradict the Abel-Ruffini theorem.
Old answer:
The QR algorithm for eigenvalues uses the QR decomposition repeatedly in an iterative fashion. At each step you compute the QR decomposition of the current matrix, then multiply the factors in reverse order to get the next matrix. \begin{align} &A_1 = A \\ Q_1 R_1 = A_1, \quad &A_2 = R_1 Q_1 \\ Q_2 R_2 = A_2, \quad &A_3 = R_2 Q_2 \\ Q_3 R_3 = A_3, \quad &A_4 = R_3 Q_3 \\ \dots \end{align} Eventually this process will converge to a triangular matrix with the eigenvalues on the diagonal. You don't just do the QR decomposition one time. This is a common misconception caused by bad naming. For more details, see here:
Here is an example in python/numpy where I do the QR algorithm for 20 iterations on a 4x4 symmetric matrix:
This outputs the following: