I have a question about memory required by eigenvalue solvers (as an example in this post I use zheev). Assuming that I want to find all eigenvalues and eigenvectors of matrix M of dimension n by n I have to allocate memory equal to 3*sizeof(M) (for the actual matrix M, for descT, and for eigenvectors array Q).
When dealing with large matrices this might be a problem. Especially memory allocated for matrix M seems to be "wasted" at the output. Is the a way around it? For example like in original LAPACK where memory allocated for matrix M was used to store eigenvectors at the output?