Several fixes related to the eigensolvers
There were several problems in the eigensolvers:
- There was an incorrect condition in the CG eigensolver that made the algorithm exit prematurely.
- The subspace diagonalization was never done for the PSD eigensolver.
- The subspace diagonalization was always done twice, except for the RMMDIIS and PSD eigensolvers.
- The PSD eigensolver was not initializing the preconditioner, therefore not using it. A test for the PSD eigensolver was also added.
Fixed several bugs in the eigensolvers.
- I have checked that my code follows the Octopus coding standards
- I have added tests for all the new features added in this request.