I hope everyone here have had a wonderful Christmas!
I’m trying to understand what mo_spin_eri
does. I was hoping that calling mints.mo_spin_eri(C,C)
would give the same as mints.mo_eri(C,C,C,C)
, but with intertwining zeros, or a blocked matrix with a copy of the latter in the diagonal blocks and zero in the other ones.
Instead, doing something like:
mints = psi4.core.MintsHelper(wfn.basisset())
R = np.asarray(mints.mo_eri(C,C,C,C))
R2 = np.asarray(mints.mo_spin_eri(C,C))
and then printing the elements one by one, i.e.
print('R:')
for i in range(8):
for j in range(8):
for k in range(8):
for l in range(8):
print(i,j,k,l,R[i,j,k,l])
print('R2:')
for i in range(8):
for j in range(8):
for k in range(8):
for l in range(8):
print(i,j,k,l,R[i,j,k,l])
for both, gives
R:
0 0 0 0 4.126398909483814
...
R2:
...
0 1 0 1 4.126398909483814
Why is the <00|00> element of R equal to the <01|01> element of R2? I was expecting that <00|00> would be equal for both matrices.