Several minor changes in the CG eigensolver
Several minor changes in the CG eigensolver:
- Reduce the memory used by the CG eigensolver.
- Improve speed when the fold option is passed, by working with arrays of size np and not np_part
- Removing unnecessary initialization and zero-filing.
- Using Blas when possible This makes the CG part few percent faster (~4%) for test systems 1ALA, 2ALA, and 3ALA.
Minor improvement of the CG eigensolver.
- I have checked that my code follows the Octopus coding standards
- I have added tests for all the new features added in this request.