Natural Orbitals from DMRG

Dear fellow psi4 forum-users,

I would like to know if it is possible to get the natural orbitals after a DMRG calculation.

During a calculation (taking for example the “well-known” dmrg-ci example on water) you can find the natural orbital occupation numbers being printed in the stream of the external chemps2 code:

[…]
NOON of irrep A1 = [ 1.99447430135994 , 1.97282427996021 , 0.0252995708859364 , 0.00723392925669578 , 0.000917219043611398 ]
[…]

But unfortunately, I could not find a way to print out what any of these natural orbitals actually look like.

Specifying things like
e_dmrg, wfn_dmrg = psi4.energy(‘dmrg-ci’, return_wfn=‘on’)

will also only return the RHF reference of the dmrg calculation. The option “DMRG_MOLDEN_WRITE” does give pseudocanonical orbitals - but I am not sure how I would re-construct natural orbitals from there, either. Since this “flattened single determinant” comes with fractional occupation numbers, it should not be possible to use a second quantization formalism on them to just set up the one-particle density matrix myself, right? Is there a “workaround” by first projecting onto the canonical orbitals of the RHF reference - i.e. to produce something like a transition density matrix by projecting onto the “well behaved” ground state?

Kind regards and any thoughts appreciated,
fweber

Hi, I’m one of the developers.

This is not possible in the current version of Psi4. My current Psi4 development project is standardizing density matrices across the various modules in Psi, including DMRG, so you can access the 1RDM from the wavefunction. Getting the natural orbitals from there is just matrix diagonalization. Expect this feature to be added in the Psi4 1.6 release, due towards the end of May. (In time for the SETCA 2022 conference, if you follow such things.)

Dear jmisiewicz,

thank you a lot for your quick reply - and for confirming my suspicions that it might not be a “straightforward fix”. I will be looking forward to these changes, then. If I can be of help for testing or anything, please let me know.

Kind regards,
fweber