IR intensities in HF

I have been trying to get IR intensities out of frequency and hessian calculations but I got a bit confused.

This is what I am doing in the python API:


psi4.optimize('hf/3-21g', molecule=h2o_hf)
e, wfn = psi4.freq('hf/3-21g', return_wfn=True, molecule=h2o_hf)
H, wfnh = psi4.hessian('hf/3-21g', return_wfn=True, molecule=h2o_hf)
nat=h2o_hf.natom()
masses=np.zeros(nat)

for i in range(nat):
   masses[i]=np.array(h2o_hf.mass(i))

basis = psi4.core.BasisSet.build(h2o_hf, key='basis', target='3-21g')

psi4.driver.qcdb.vib.harmonic_analysis(np.array(H), 
aa2bohr*np.array(h2o_hf.geometry()),masses, basis, h2o_hf.irrep_labels() )

with that I am able to get all they dictionary keys appearing here:
https://psicode.org/psi4manual/master/api/psi4.driver.qcdb.vib.harmonic_analysis.html
except “IR_intensity”.
I then suspected that the above command required the dipder (derivative of dipole) optional argument too, in order to provide the IR intensities. But how can I get that in psi4?

Else. Is there any other way to obtain the IR intensities?

Thank you!

You indeed need dipder. A good first thing to do is look at the source code and see what they do to get the variables. You can see how dipder is determined here.