Artículos de revistas
A Tensor Library for Scientific Computing
Fecha
2008-11Registro en:
Limache, Alejandro Cesar; Rojas Fredini, Pablo Sebastián; A Tensor Library for Scientific Computing; Asociacion Argentina de Mecanica Computacional; Mecánica Computacional; XXVI; 38; 11-2008; 2907-2925
1666-6070
CONICET Digital
CONICET
Autor
Limache, Alejandro Cesar
Rojas Fredini, Pablo Sebastián
Resumen
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.