A C++11 implementation of arbitrary-rank tensors for high-performance computing

Published: 1 January 2014| Version 1 | DOI: 10.17632/mkt34bk2x8.1
Alejandro M. Aragón


This program has been imported from the CPC Program Library held at Queen's University Belfast (1969-2018) Abstract This article discusses an efficient implementation of tensors of arbitrary rank by using some of the idioms introduced by the recently published C++ ISO Standard (C++11). With the aims at providing a basic building block for high-performance computing, a single Array class template is carefully crafted, from which vectors, matrices, and even higher-order tensors can be created. An expression template facility is also built around the array class template to provide convenient mathematical syn... Title of program: cpp-array Catalogue Id: AESA_v1_0 Nature of problem Tensors are a basic building block for any program in scientific computing. Yet, tensors are a built-in component of the C++ programming language. Versions of this program held in the CPC repository in Mendeley Data AESA_v1_0; cpp-array; 10.1016/j.cpc.2014.01.005 AESA_v1_1; cpp-array; 10.1016/j.cpc.2014.07.015



Computational Physics, Computer Algebra System