Dear PSI4 community,
I have been working recently on a second order electron propagator methods python scripts in psi4. As long as I use symm=c1 everything works fine. However, if I use a higher symmetry things don’t work properly. For example, water molecule with c2v abelian group and sto-3g basis set gives a Ca matrix that is an array of 4 matrices (one for each irreducible representation or irrep). I generated a matrix with this blocks using np.block()
and gives this:
[[ 0.99413 0.23279 0.10317 0.13235 0. 0. 0. ]
[ 0.02656 -0.83358 -0.53681 -0.8843 0. 0. 0. ]
[ 0.00434 -0.12952 0.77666 -0.74235 0. 0. 0. ]
[-0.00844 -0.22444 0.39307 1.12708 0. 0. 0. ]
[ 0. 0. 0. 0. 1. 0. 0. ]
[ 0. 0. 0. 0. 0. 0.60645 0.99043]
[ 0. 0. 0. 0. 0. -0.62936 1.18578]]
Then, I try to transform the integrals using these lines:
aux1 = np.einsum(‘sS,pqrs->pqrS’,Ca,I)
aux2 = np.einsum(‘rR,pqrS->pqRS’,Ca,aux1)
aux1 = np.einsum(‘qQ,pqRS->pQRS’,Ca,aux2)
MO = np.einsum(‘pP,pQRS->PQRS’,Ca,aux1)
I is obtained from mints
I = np.array(mints.ao_eri())
I = I.reshape(nmo, nmo, nmo, nmo)
However, the results are not equal to the ones obtained are not equal to the ones obtained without symmetry.
I also tried using
MO_TEI = mints.mo_eri(wfn.Ca(), wfn.Ca(), wfn.Ca(), wfn.Ca())
but this gives an array of (4,4,4,4) inside a 1 dimension tuple instead of a (7,7,7,7)
array
Best regards and thank you for your help!
Manuel Diaz-Tinoco