1. An apparatus comprising: at least one processor configured to perform a plurality of iterations of Jacobi rotation on a first matrix of complex values with a plurality of Jacobi rotation matrices of complex values, wherein the at least one processor is configured, for each iteration, to form a submatrix based on the first matrix, to decompose the submatrix, to obtain eigenvectors for the submatrix, to form a Jacobi rotation matrix with the eigenvectors, and to update the first matrix with the Jacobi rotation matrix, and to derive a second matrix of complex values based on the plurality of Jacobi rotation matrices, the second matrix comprising orthogonal vectors; and a memory coupled to the at least one processor.