### A Tensor Library for Scientific Computing

#### Abstract

The majority of physical phenomena and their computational simulations are described mathematically in terms of tensors and their different algebraic operations. Possibly the most used tensors are the ones of rank 1 and 2, which correspond to the algebraic concepts of vectors and matrices, respectively. Nevertheless, higher rank tensors (specially 3 and 4) appear at all times in different branches of physics and in numerical methods. One of the major drawbacks of high

performance computing is that the code necessary to perform such tensor operations looks different and it is several lines longer than the corresponding one-line mathematical representation. Here we present a C++ tensor library, called LTensor, that we have developed using modern concepts of

object oriented design and expression templates. As it will be shown, the LTensor library is able to mimic the classical indicial notation and follows Einstein convention about indices. Furthermore, it has other additional features than distinguish it from other libraries based on similar concepts: dynamic dimension size, arbitrary contraction order, customizable storage, inherited class structure, arbitrary looping positions on indicial notations, etc.

performance computing is that the code necessary to perform such tensor operations looks different and it is several lines longer than the corresponding one-line mathematical representation. Here we present a C++ tensor library, called LTensor, that we have developed using modern concepts of

object oriented design and expression templates. As it will be shown, the LTensor library is able to mimic the classical indicial notation and follows Einstein convention about indices. Furthermore, it has other additional features than distinguish it from other libraries based on similar concepts: dynamic dimension size, arbitrary contraction order, customizable storage, inherited class structure, arbitrary looping positions on indicial notations, etc.

#### Full Text:

PDF

Güemes 3450

S3000GLN Santa Fe, Argentina

Phone: 54-342-4511594 / 4511595 Int. 1006

Fax: 54-342-4511169

E-mail: amca(at)santafe-conicet.gov.ar

**Asociación Argentina de Mecánica Computacional**Güemes 3450

S3000GLN Santa Fe, Argentina

Phone: 54-342-4511594 / 4511595 Int. 1006

Fax: 54-342-4511169

E-mail: amca(at)santafe-conicet.gov.ar

**ISSN 2591-3522**