pyscf-ipu
pyscf-ipu copied to clipboard
Make use of ERI redundancies
The ERI tensor has numerous redundancies:
- permutation invariances: E_ijkl = E_jikl etc
- orthogonalities: E_ijkl = 0 for some combinations of (i,j) in some basis sets
- sparsity: E_ijkl \approx 0 when atoms (ijkl) are far from each other
The electron repulsion integrals are stored in ERI
and most of the entries are zero. Furthermore, ERI satisfies an 8x symmetry:
- E_ij.. = E_ji.. # E is a symmetric matrix of ...
- E_..kl = E_..lk # ... symmetric matrices
- E_[ij][kl] = E_[kl][ij] # .. and one more symmetry
This file computes the ERI einsum using a sparse matrix vector multiplication.