I have a matrix, A, that is given in a 3-dimensional Cartesian coordinate system, S.
I would like to know what rotation needs to be preformed such that A is diagonalized (in a new coordinate system, S'). I want to know how far apart S and S' are.
I already know the eigenvalues of A and what the diagonalized form of A would look like, but my interest is in the coordinate system (and more specifically the rotation) needed to make it diagonalized.
If the matrix is normal ($A^TA = AA^T$) you can avoid the problem janmarqz points out. Further, the eigenspaces are guaranteed to be orthogonal, allowing you to pick an orthonormal basis of eigenvectors.
You can exploit the Cayley-Hamilton to find the eigenvectors. If $p(A) = 0$, where $p$ is the characteristic polynomial, then $p(A) = (A - \lambda_1I)(A - \lambda_2I)(A - \lambda_3I)$, where the $\lambda$s are the eigenvalues (which I will assume are unique). Since $(A - \lambda_1I)$ annihilates the product of the other two matrices, the columns of that product matrix are either 0 or eigenvectors. Since it doesn't matter which eigenvalue is labeled $\lambda_1$, all three eigenvectors can be found this way.
Once you have the eigenvectors and have normalized them, put them together as the rows of a matrix. That is your transformation matrix.