C++ library for numerical arrays and tensor objects and operations with them, designed to allow Matlab-style programming.

The Tensor C++ library

Tensor is a C++ library for performing numerical computations and linear algebra with multidimensional arrays, also called "tensors". Some of the features of the library are:

Tensor is production ready and is being used routinely by our research group in large scale simulations of many-body quantum mechanical systems. The library delivers excellent performance while maintaining a great level of readability and maintainability, with an interface that is close to Matlab's functions and avoids explicit use of template metaprogramming. Performance is not compromised and can be greatly enhanced making use of the multithreading capabilities of the Intel MKL and Atlas libraries, the former delivering spectacular performance in our own experience.


Tensor is distributed in source form, in various formats that you can use to build the library. Some are more convenient than other:


Version 0.1 is the first stable release of the project, tested on a variety of Linux clusters and Mac OS X computers, that builds with GCC, Clang and Intel compilers.