I would like to use the functionality of the psi4 API, but I would like my wavefunction to be consistent with that of an external quantum chemistry code. I have access to all of the necessary one- and two-electron properties from the external code as numpy arrays, including the orbital coefficients and energies. How can I achieve this using the python API?
I have tried to use
data=Wavefunction.to_file() to form a dictionary of the wavefunction, and then replace the necessary quantities, followed by
wfn=Wavefunction.from_file(data). This however results in a segfault when I attempt to use
psi4.energy('MP2', ref_wfn=wfn). I have also thought about replacing the arrays using
Wavefunction.set_array(), but can’t work out how to replace the
epsilon_b. Both of these methods would also overlook the two-electron integrals.
Is this something which I can achieve easily? In general, for post-SCF methods such as MP and CC methods, does psi4 obtain the matrices from the
Wavefunction object attributes or is this over-simplifying things?