FTensor

A high performance tensor library in C++

FTensor is a set of C++ classes that allow a great deal of abstraction when dealing with tensors, yet delivers uncompromising efficiency. It uses template expressions to provide expressiveness and speed.

FTensor’s biggest claim to fame is that it handles implicit summation.

Thus you can write

A(i,j) = B(i,k)*C(k,j)

instead of having to write

A = sum(B(i,k)*C(k,j),k)

Also, the result is strongly typed by the indices, so you can’t write

A(i,k) = B(i,k)*C(k,j)

or even

A = B(i,k)*C(k,j)

It has Tensor0, Tensor1, Tensor2, Tensor2_symmetric, Tensor3_dg (symmetric on the first two indices), Tensor3_antisymmetric (antisymmetric on the last two indices), Tensor3_christof(symmetric on the last two indices), Tensor4_ddg(symmetric on the first two, and last two, indices) and Tensor4_Riemann(antisymmetric on the first two, and last two, indices, and symmetric under cyclic permutation of the last three indices). It was written for a General Relativity code.

License: GNU GPL.

Tags: analysis, differential geometry, tensor analysis, library.

Interface: library.

Source language: C++.

Supported language: C++.

Staff

Maintainer: Walter Landry.

Developer: Walter Landry.

Links

Homepage: http://www.oonumerics.org/FTensor/.

Documentation: http://www.oonumerics.org/FTensor/FTensor.pdf.