Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix orthgonality loss in Davidson using Gram-Schmidt reorthogonalisation #191

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

AdrianLDempwolff
Copy link
Contributor

@AdrianLDempwolff AdrianLDempwolff commented Feb 26, 2025

This pull request covers several issues related to the Davidson solver:

  • The Davidson solver occasionally lost subspace orthogonality, sometimes leading to linear dependence within the subspace, resulting in instant solver convergence towards zero eigenpairs.
    With this pull request, subspace orhogonality loss is fixed using a conventional Gram-Schmidt reorthogonalisation in case this is needed, i.e., whenever the vector to be added to the subspace has non-negligible overlap with the previous subspace vectors. This comes at the expense of, at least, computing n_ss_vec addtional scalar products in each step, which in small systems may amount up to 5% of the total computational time spent for the Davidson solver. The overhead scales $N^4$, that is, for larger systems, the relative penalty can be expected to be negligible.

  • In the Davidson solver setup, it was not differentiated between the initial subspace size, that is, the number of guesses provided, and the Davidson block size n_block. In cases where the number of roots to be converged is considerably smaller than the number of guesses, large n_block values lead to a considerable overhead in computational costs compared to a conventional strategy in which the Davidson block size is set to be equal to the number of roots to be converged.
    With this pull request, the default is changed such that the Davidson block size is set to be equal to the number of roots to be converged.

AdrianLDempwolff and others added 4 commits March 3, 2025 19:30
…ation in

  case orthogonality loss is detected.
  procedure. In cases where n_guesses > n_states, this may lead to a decrease
  in the number of matrix applies needed till convergence.
@jonasleitner jonasleitner force-pushed the davidson_linear_dependence branch from 94c7cc0 to 00a3cbe Compare March 3, 2025 18:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants