How to print natural occupation number
We need to know the method you want to print occupation numbers of.
For HF, the spinorbital occupation numbers are all 1 or 0, as a consequence of the wavefunction being a single determinant. It looks like you develop electronic structure methods. Am I misunderstanding the question, or did you just need a reminder of a fairly basic fact?
For CASSCF (or to doublecheck HF), you can access the density matrix as a numpy array by
wfn.Da_subset("MO").np (for a molecule with no symmetry) or as an element of the list
wfn.Da_subset("MO").nph (for a molecule with symmetry). From there, you determine the occupation numbers by diagonalization. This requires that the method you’re using set the density matrix properly. Both CASSCF and HF do.
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.