arXiv · 1711.10912
TLib: A Flexible C++ Tensor Framework for Numerical Tensor Calculus
Abstract
Numerical tensor calculus comprise basic tensor operations such as the entrywise addition and contraction of higher-order tensors. We present, TLib, flexible tensor framework with generic tensor functions and tensor classes that assists users to implement generic and flexible tensor algorithms in C++. The number of dimensions, the extents of the dimensions of the tensors and the contraction modes of the tensor operations can be runtime variable. Our framework provides tensor classes that simplify the management of multidimensional data and utilization of tensor operations using object-oriented and generic programming techniques. Additional stream classes help the user to verify and compare of numerical results with MATLAB. Tensor operations are implemented with generic tensor functions and in terms of multidimensional iterator types only, decoupling data storage representation and computation. The user can combine tensor functions with different tensor types and extend the framework without further modification of the classes or functions. We discuss the design and implementation of the framework and demonstrate its usage with examples that have been discussed in the literature.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Cem Bassoy. 2017-11-28. TLib: A Flexible C++ Tensor Framework for Numerical Tensor Calculus. https://arxiv.org/abs/1711.10912
Cite the original work for its findings. Save a collection to share your selection of sources.