I have tested the dav_subspace method, and compared the accuracy and performance to the dav method:
The difference of energy, force, virial between two methods is acceptable.
For most of cases, the average time of each SCF step by dav_subspace is faster than dav. While for some cases, the total SCF steps are larger by dav_subspace .
Task list for Issue attackers (only for developers)
[ ] Reproduce the performance issue on a similar system or environment.
[ ] Identify the specific section of the code causing the performance issue.
[ ] Investigate the issue and determine the root cause.
[ ] Research best practices and potential solutions for the identified performance issue.
[ ] Implement the chosen solution to address the performance issue.
[ ] Test the implemented solution to ensure it improves performance without introducing new issues.
[ ] Optimize the solution if necessary, considering trade-offs between performance and other factors (e.g., code complexity, readability, maintainability).
[ ] Review and incorporate any relevant feedback from users or developers.
[ ] Merge the improved solution into the main codebase and notify the issue reporter.
Details
I have tested the dav_subspace method, and compared the accuracy and performance to the dav method:
The details of the results: https://app.bohrium.dp.tech/abacustest/?request=GET%3A%2Fapplications%2Fabacustest%2Fjobs%2Fjob-abacustest-v0.3.113-543b58
Task list for Issue attackers (only for developers)