quemb.molbe.eri_sparse_DF.MutableSemiSparse3DTensor¶
- class quemb.molbe.eri_sparse_DF.MutableSemiSparse3DTensor(shape)¶
Specialised datastructure for semi-sparse 3-indexed tensors.
For a tensor, \(T_{ijk}\), to be stored in this datastructure we assume
sparsity along the \(i, j\) indices, i.e. \(T_{ijk} = 0\) for many \(i, j\)
dense storage along the \(k\) index
It can be used for example to store the partially contracted 3-center, 2-electron integrals \((\mu i | P)\), with AO \(\mu\), localised MO \(i\), and auxiliary basis indices \(P\). Semi-sparsely, because it is assumed that there are many exchange pairs \(\mu, i\) which are zero, while the integral along the auxiliary basis \(P\) is stored densely as numpy array.
2-fold permutational symmetry for the \(\mu, i\) pairs is not assumed.
Note that this class is mutable which makes it more flexible in practice, but also less performant for certain operations. If possible, it is recommended to use
SemiSparse3DTensor
.Attributes
- class_type = jitclass.MutableSemiSparse3DTensor#7fbbc4c03800<shape:UniTuple(int64 x 3),naux:int64,_data:DictType[UniTuple(int64 x 2),array(float64, 1d, A)]<iv=None>,MO_reachable_by_AO:ListType[instance.jitclass.SortedIntSet#7fbbc4d824e0<_lookup:DictType[int64,bool]<iv=None>,items:ListType[int64]>],AO_reachable_by_MO:ListType[instance.jitclass.SortedIntSet#7fbbc4d824e0<_lookup:DictType[int64,bool]<iv=None>,items:ListType[int64]>]>¶
Methods