Add initial orbital guess for DMRG CI/SCF #416
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 adds DMRG initial orbitals based on localization (active space only) + reordering from Fiedler vector, which is controlled by keyword
DMRG_REORDER_INIT_ORBS
. This reordering appears effective to pseudo-1D molecules (see test casedmrg-ci-2
). For less obvious molecules like N2 or Cr2, this option should be disabled and orbitals should be adjusted based on orbital characters (σ, σ*, π, π*, δ, δ*, ...). This reordering is also performed only once when entering Forte, which seems to be enough to have a good DMRG-SCF results for Cr2 and acene.A test case (
dmrg-ci-2
) on H20 chain is added to test the effect of various orbital localization schemes and Fiedler reordering. I leavedmrg-ci-1
to the test case of PR #413.Other changes that I considered to be minor includes:
The Cholesky orbitals are added directly inside
Localize
such thatCholeskyLocal
is removed.I modified
proc/orbital_helpers.py
, although it is subject to reallocation to somewhere else in the future.The infamous
die_if_not_converged
is reintroduced toActiveSpaceSolver
andActiveSpaceMethod
to speed up CI of MCSCF.Improve printing for permanent dipole in
ActiveSpaceSolver
.User Notes
Localize
class.Checklist
output.ref
file