  Advanced algorithms for large-scale electronic structure calculations are
mostly based on processing multi-dimensional sparse data. Examples are sparse
matrix-matrix multiplications in linear-scaling Kohn-Sham calculations or the
efficient determination of the exact exchange energy. When going beyond mean
field approaches, e.g. for Moller-Plesset perturbation theory, RPA and
Coupled-Cluster methods, or the GW methods, it becomes necessary to manipulate
higher-order sparse tensors. Very similar problems are also encountered in
other domains, like signal processing, data mining, computer vision, and
machine learning. With the idea that the most of the tensor operations can be
mapped to matrices, we have implemented sparse tensor algebra functionalities
in the frames of the sparse matrix linear algebra library DBCSR (Distributed
Block Compressed Sparse Row). DBCSR has been specifically designed to
efficiently perform blocked-sparse matrix operations, so it becomes natural to
extend its functionality to include tensor operations. We describe the newly
developed tensor interface and algorithms. In particular, we introduce the
tensor contraction based on a fast rectangular sparse matrix multiplication
algorithm.
