Fast Bilinear Algorithms for Symmetric Tensor Contractions

Abstract In matrix-vector multiplication, matrix symmetry does not permit a straightforward reduction in computational cost. More generally, in contractions of symmetric tensors, the symmetries are not preserved in the usual algebraic form of contraction algorithms. We introduce an algorithm that reduces the bilinear complexity (number of computed elementwise products) for most types of symmetric tensor contractions. In particular, it lowers the bilinear complexity of symmetrized contractions of symmetric tensors of order s + v {s+v} and v + t {v+t} by a factor of ( s + t + v ) ! s ! ⁢ t ! ⁢ v ! {\frac{(s+t+v)!}{s!t!v!}} to leading order. The algorithm computes a symmetric tensor of bilinear products, then subtracts unwanted parts of its partial sums. Special cases of this algorithm provide improvements to the bilinear complexity of the multiplication of a symmetric matrix and a vector, the symmetrized vector outer product, and the symmetrized product of symmetric matrices. While the algorithm requires more additions for each elementwise product, the total number of operations is in some cases less than classical algorithms, for tensors of any size. We provide a round-off error analysis of the algorithm and demonstrate that the error is not too large in practice. Finally, we provide an optimized implementation for one variant of the symmetry-preserving algorithm, which achieves speedups of up to 4.58 × \times for a particular tensor contraction, relative to a classical approach that casts the problem as a matrix-matrix multiplication.

[1]  S. Hirata Tensor Contraction Engine: Abstraction and Automated Parallel Implementation of Configuration-Interaction, Coupled-Cluster, and Many-Body Perturbation Theories , 2003 .

[2]  A. Adrian Albert On Jordan algebras of linear transformations , 1946 .

[3]  Lek-Heng Lim,et al.  Fast Structured Matrix Computations: Tensor Rank and Cohn–Umans Method , 2016, Found. Comput. Math..

[4]  V. Strassen Rank and optimal computation of generic tensors , 1983 .

[5]  V. Pan How can we speed up matrix multiplication , 1984 .

[6]  F. L. Hitchcock The Expression of a Tensor or a Polyadic as a Sum of Products , 1927 .

[7]  W. Hackbusch A Sparse Matrix Arithmetic Based on $\Cal H$-Matrices. Part I: Introduction to ${\Cal H}$-Matrices , 1999, Computing.

[8]  Shawn T. Brown,et al.  Advances in methods and algorithms in a modern quantum chemistry program package. , 2006, Physical chemistry chemical physics : PCCP.

[9]  Boris N. Khoromskij,et al.  Tensor Numerical Methods in Quantum Chemistry , 2018 .

[10]  Don Coppersmith,et al.  Matrix multiplication via arithmetic progressions , 1987, STOC.

[11]  Samyam Rajbhandari,et al.  Framework for Distributed Contractions of Tensors with Symmetry , 2013 .

[12]  Danna Zhou,et al.  d. , 1840, Microbial pathogenesis.

[13]  Beverly A. Sanders,et al.  An infrastructure for scalable and portable parallel programs for computational chemistry , 2009, ICS '09.

[14]  Michael J. Frisch,et al.  MP2 energy evaluation by direct methods , 1988 .

[15]  Roman Orus,et al.  A Practical Introduction to Tensor Networks: Matrix Product States and Projected Entangled Pair States , 2013, 1306.2164.

[16]  Tze Meng Low,et al.  Exploiting Symmetry in Tensors for High Performance: Multiplication with Symmetric Tensors , 2013, SIAM J. Sci. Comput..

[17]  James Demmel,et al.  Communication-optimal parallel algorithm for strassen's matrix multiplication , 2012, SPAA '12.

[18]  Virginia Vassilevska Williams,et al.  Multiplying matrices faster than coppersmith-winograd , 2012, STOC '12.

[19]  Jianlin Xia,et al.  Fast algorithms for hierarchically semiseparable matrices , 2010, Numer. Linear Algebra Appl..

[20]  Boris N. Khoromskij,et al.  Tensor Numerical Methods in Scientific Computing , 2018 .

[21]  Ivan Oseledets,et al.  Tensor-Train Decomposition , 2011, SIAM J. Sci. Comput..

[22]  Miss A.O. Penney (b) , 1974, The New Yale Book of Quotations.

[23]  Tamara G. Kolda,et al.  Tensor Decompositions and Applications , 2009, SIAM Rev..

[24]  Mihály Kállay,et al.  Higher excitations in coupled-cluster theory , 2001 .

[25]  HackbuschW. A sparse matrix arithmetic based on H-matrices. Part I , 1999 .

[26]  L. Tucker,et al.  Some mathematical notes on three-mode factor analysis , 1966, Psychometrika.

[27]  Michael Hanrath,et al.  An efficient matrix-matrix multiplication based antisymmetric tensor contraction engine for general order coupled cluster. , 2010, The Journal of chemical physics.

[28]  Wolfgang Hackbusch,et al.  A Sparse Matrix Arithmetic Based on H-Matrices. Part I: Introduction to H-Matrices , 1999, Computing.

[29]  Beverly A. Sanders,et al.  Software design of ACES III with the super instruction architecture , 2011 .

[30]  Edgar Solomonik Provably Efficient Algorithms for Numerical Tensor Algebra , 2014 .

[31]  George H. Booth,et al.  Natural Orbitals for Wave Function Based Correlated Calculations Using a Plane Wave Basis Set. , 2011, Journal of chemical theory and computation.

[32]  Tjerk P. Straatsma,et al.  NWChem: A comprehensive and scalable open-source solution for large scale molecular simulations , 2010, Comput. Phys. Commun..

[33]  Ed Anderson,et al.  LAPACK Users' Guide , 1995 .

[34]  James Demmel,et al.  Contracting Symmetric Tensors Using Fewer Multiplications , 2015 .

[35]  Lek-Heng Lim,et al.  Algorithms for structured matrix-vector product of optimal bilinear complexity , 2016, 2016 IEEE Information Theory Workshop (ITW).

[36]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[37]  Pierre Valiron,et al.  Improved algorithm for triple-excitation contributions within the coupled cluster approach , 2005 .

[38]  V. Strassen Gaussian elimination is not optimal , 1969 .

[39]  Robert A. van de Geijn,et al.  Strassen's Algorithm for Tensor Contraction , 2017, SIAM J. Sci. Comput..

[40]  Evgeny Epifanovsky,et al.  New implementation of high‐level correlated methods using a general block tensor library for high‐performance electronic structure calculations , 2013, J. Comput. Chem..

[41]  John F. Stanton,et al.  A massively parallel tensor contraction framework for coupled-cluster computations , 2014, J. Parallel Distributed Comput..