Remove Unnecessary, Buggy dct
Convergence Metric
#2381
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR removes some convergence checks in the
dct
module that are redundant (when formulated correctly) and currently not implemented correctly.In the current
dct
code, my threaded computations with near linear dependencies were taking a variable number of iterations to converge, due to the conditionupdate_scf_density_RHF() < orbitals_threshold_
being false. That check is intended to enforce convergence of the orbitals, which change iteration-to-iteration.update_SCF_density_RHF
returns a measure of how much the reference density changed but does not treat it with an orthogonalizer, so in the near linearly-dependent case, numerical noise leads to the computation proceeding even after all other convergence metrics are flat.Given the choice between fixing the check or removing it, this PR removes it.
Todos
dct
convergence metricChecklist
dct
tests still passStatus