Skip to content

Replace the generalized eigensolver by a divide and conquer version

Description

Replace the generalized eigensolver by a divide and conquer eigensolver, which is much faster.

Tests on bulk silicon with extra states shows that this is better for the subspace diagonalization

Extra states Main This branch
250 1.092464 0.496664
500 7.909831 3.258576

For 500 extra states, this was the main contribution to the subspace diagonalization.

This affects:

  • LCAO
  • Chebyshev filtering subspace diagonalization

News snippet

Optimization of the subspace diagonalization

Checklist

  • I have checked that my code follows the Octopus coding standards
  • I have added tests for all the new features added in this request.

Merge request reports

Loading