changed eigenvalue functions to return vector of complex instead of matrix