TLib: A Flexible C++ Tensor Framework for Numerical Tensor Calculus
Cem Bassoy

TL;DR
TLib is a flexible C++ framework that simplifies the implementation of numerical tensor calculus with runtime-variable dimensions, generic functions, and comparison tools for MATLAB.
Contribution
It introduces a generic, object-oriented C++ tensor framework supporting runtime-variable dimensions and extensible tensor operations.
Findings
Supports flexible tensor operations with runtime dimensions
Decouples data storage from computation using iterators
Enables comparison of results with MATLAB
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Tensor decomposition and applications · Computational Physics and Python Applications
